recv

    3

    2답변

    int resp = recv(s, buf, len, flags); if(resp == 18) { char data[18]; strcpy(data, buf); ... } 나는 strlen (data)가 18이 될 것이라고 기대하지만, 그렇지 않다. 내가 놓친 게 무엇입니까?

    4

    2답변

    내 인상은 recvfrom()이 수신 한 다음 IP 패킷과 수신 포트이며, 수신 대기 패킷이없는 경우입니다. 우리는 문제가 패킷이 recvfrom()에 대해 큐에 대기하고있을 수 있으므로 recvfrom()이 적극적으로 수신 대기 중이 지 않아도 모든 패킷을 수신 대기하고있는 중입니다. 이에 대한 명확한 문서를 찾을 수 없습니다. 누구든지 recvfrom(

    0

    2답변

    필자가 작성한 두 가지 프로그램, 서버 및 클라이언트에 문제가 있습니다. 쉽게 그리고 연대순으로 유지하기 위해, 나는 처음에 서버를 작성하고 telnet과 netcat 모두로 테스트했다. 정상적인 telnet 프로그램처럼 보이지만 read()/recv()의 반환 값의 차이점을 제외하면 모든 것이 잘 동작한다. 전송할 문자열 끝에 추가 문자를 추가하지만 어쨌

    0

    2답변

    내 응용 프로그램에서 클라이언트 - 서버 연결을 유지하고이를 수행하기 위해 비 차단 소켓을 사용하기 위해 winsock을 사용하고 있습니다. 그러나 가끔 FD_READ 메시지를 받으면 recv()은 하나가 아니라 두 개의 패킷을 반환합니다. 패킷의 크기를 서로 다르게 변경하려고 시도한 후 데이터 크기와 비교했습니다. recv()이 반환됩니다. 나는 수시로

    3

    3답변

    질문이 있습니다. 나는이 수업이 있습니다 ` #define DIMBLOCK 128 #ifndef _BLOCCO_ #define _BLOCCO_ class blocco { public: int ID; char* data; blocco(int id); }; #endif blocco::blocc

    41

    4답변

    기본적으로, 내가 읽을 수있는 것은 무엇이든지 반환하거나, 다른 쪽이 종료되었다는 신호를 보내는 빈 문자열을 여러 곳에서 읽었습니다 (공식 문서는 연결이 종료되었을 때 반환되는 내용조차 언급하지 않습니다. ... 대단해!). 실제로 소켓을 수신 할 때 recv() 만 반환한다는 것을 알고 있기 때문에 소켓을 차단하는 데는 모든 것이 좋습니다. 빈 문자열을

    5

    1답변

    상당히 간단한 클라이언트/서버 응용 프로그램에서 작업 중이며 클라이언트에서 TStringStream을 수신하는 데 문제가 있습니다. recv이 winsock API에서 제공합니다. 나는 '0x00000000시 액세스 위반 : 0x00000000 읽기'오류가 계속 발생합니다. 클라이언트는 텍스트를 TStringStream으로 복사하고, 길이를 가져 와서 서버

    1

    1답변

    제공되는 서버/포트에 대한 연결을 만들려고합니다. 연결을 만들 때 적어도 패킷을 ping 할 수 있습니다. 나는 보내기()) 정확한 바이트 수를 반환하는 것 때문에 내가 할 수라고 생각,하지만 난) (RECV하려고 할 때 바로 후, 전화가 왜 전송이 것에 "Error on Receiving .. Connection Refused" 어떤 아이디어를 말하는

    0

    3답변

    두 개의 다른 소켓을 수신해야하는 UDP 클라이언트가 있습니다. select 시스템 호출을 사용하여 recv 호출을 멀티플렉싱하고 있습니다. 그러나 클라이언트가 두 번째 recv 호출 내에서 차단 된 것을보고 있습니다. 이 문제를 어떻게 해결할 수 있습니까? 즉 대기하는 소켓의 마스터 설정되어 있기 때문에 비트가 항상 socketfds에 설정됩니다 - st

    1

    5답변

    , 내가 보낸 사람에 recvfd=accept(sockfd,&other_side,&len); while(1) { recv(recvfd,buf,MAX_BYTES-1,0); buf[MAX_BYTES]='\0'; printf("\n Number %d contents :%s\n",counter,buf); counter++;