Tcp 无返回的recv崩溃
我有一段代码,我应该通过TCP套接字接收一些数据:Tcp 无返回的recv崩溃,tcp,crash,recv,Tcp,Crash,Recv,我有一段代码,我应该通过TCP套接字接收一些数据: int ret; char mytext[SIZE_CTRL_MSG]; cerr << "Trying to receive" << endl; ret = recv(sock, &mytext[0], SIZE_CTRL_MSG, 0); cerr << "Packet received, ret=" << ret << endl; if(ret == SOCKET_ERR
int ret;
char mytext[SIZE_CTRL_MSG];
cerr << "Trying to receive" << endl;
ret = recv(sock, &mytext[0], SIZE_CTRL_MSG, 0);
cerr << "Packet received, ret=" << ret << endl;
if(ret == SOCKET_ERROR){
printf("recv failed with error (%d)\n", WSAGetLastError());
system("PAUSE");
exit(1);
}
在这里,应用程序崩溃了。我只收到一条消息,“发生未处理的win32异常”。我正在WindowsXP上使用EclipseJuno。我尝试在recv()中使用
mytext
更改&mytext[0]
,但我遇到了相同的情况。哪个可能是错误?您确定sock
有效吗?(即,上一次调用sock=socket(…);
成功了吗?是的,成功了。在接收之前,我使用sock
进行发送()。
Trying to receive