编写了一个SOCKET通讯程序,但RECV()返回总是-1, 这是什么原因造成的 以前是可以运行的, 当客户端向服务端进行连接的时候,服务端连接成功,并向客户端发送数据,但客户端的recv(*nSocket, pcRecvBuf, sizeof(TMsgHead), 0);却总是收取失败,返回-1, 一般估计是什么原因造成的,谢谢, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 初始化了么?WORD wVersionRequested;WSADATA wsaData;int err; wVersionRequested = MAKEWORD( 2, 2 ); err = WSAStartup( wVersionRequested, &wsaData );if ( err != 0 ) { return;} 你的recv参数是不是有问题啊,它的原形是这样的int recv(SOCKET , char *, int ,int );第一个参数不是SOCKET * 连接成功,不可能是没有WSAStartup(……);当然GetLastError()是找原因的最直接方法,而后再vc的tools ,error Lookup可以得到汉语的错误描述。 nErrorCode = WSAGetLastError();返回 的错误代码是10014, 没有设置正确的地址#define WSAEFAULT (WSABASEERR+14)WSAEFAULT The buf parameter is not completely contained in a valid part of the user address space. 可能是发送端发送数据后,立即关闭。这时tcp连接中断,则接收端接收数据不正常。tcp是面向连接的,可靠的协议,不过还是应该做一些机制,比如发送何种数据为传输开始,何种数据为终止,接收和发送如何同步。即便是简单的传输程序也应该考虑一下这种问题好久不做这个了,不知道说的有没有帮助。 VC++使用MSChart画折线图,在别人电脑上运行崩溃(已成功注册MSCHRT20.OCX) 有不有做这样的毕业设计的! 为什么我的MsDbGridCtrl不能设置? IHTMLDocument2问题。 VC++中怎么显示含有Flash的网页文件? 链接的问题 求助:我的IE浏览器打开不存在的网页时,总会出来"亚洲交友中心"页面,如何取消? 如何把硬盘上的位图加载到资源当中? 问个读取LIST列表内容到主窗口的问题 类似jetcar的悬浮窗口,高分相赠 100分求取声音滤波算法原理,谢谢! 用VC如何作一个类似frontpage那样的网页编辑器 在线等待 急急急
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 2, 2 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}
当然GetLastError()是找原因的最直接方法,而后再vc的tools ,error Lookup可以得到汉语的错误描述。
好久不做这个了,不知道说的有没有帮助。