【发布时间】:2009-09-01 16:22:40
【问题描述】:
当我试图在那个套接字中接收数据时,我似乎总是得到这个特殊的东西。套接字是一个有效的套接字,并且连接也已建立,并且总是有一些数据定期进入特定端口。但是有些 recv 函数如何给出这个错误。知道可能是什么原因。
示例代码如下。
提前致谢
struct hostent *hdata; // Used when Node name is converted to IP-Address
struct sockaddr_in insock; // Socket address structure
unsigned long ipaddr; // IP-Address in numeric format
CString sIPAddr = _T("1.1.1.1");
char * cSBCS = (char*)sIPAddr.GetBuffer(sIPAddr.GetLength());
ipaddr = inet_addr( cSBCS/*sIPAddr*/ );
hdata = gethostbyname( sIPAddr );
insock.sin_family = AF_INET;
insock.sin_port = htons( 2101 );
memcpy( &insock.sin_addr, *(hdata->h_addr_list), hdata->h_length );
// Create socket
if(( m_Socket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP )) == INVALID_SOCKET );
// return FALSE;
// Connect to MSS-box
if(( connect( m_Socket, (struct sockaddr *)&insock, sizeof( insock ))) == SOCKET_ERROR )
DWORD dwNonBlocking = -1;
if( ioctlsocket( m_Socket, FIONBIO, &dwNonBlocking ))
if((pdwRxChars = recv(m_Socket, pRxBuffer,1024, 0)) == SOCKET_ERROR)
总是出现 WSAEWOULDBLOCK 错误
【问题讨论】:
标签: sockets