标题基本概括了所有内容。我有一个接收线程等待来自客户端的输入,但是当没有读取任何内容时,它没有返回读取的 0 字节,而是返回 -1 但没有返回错误。
任何提示都说明为什么这个函数会这样?
谢谢
编辑:
这是接收代码
sockaddr_in remote;
remote.sin_family = AF_UNSPEC;
remote.sin_addr.s_addr = inet_addr( _host.c_str() );
remote.sin_port = htons( atoi( _port.c_str() ) );
int remoteSize = sizeof(remote);
bytesRead = recvfrom(_os.socket,
(char*)buffer,
bufferSize,
0,(SOCKADDR*)&remote, &remoteSize);
_error = WSAGetLastError();
当我执行时,bytesRead
是-1并且_error
是0。