我发现无法设断点调试程序,十分郁闷,问题不知道出现在那里,很郁闷,高手帮忙
热心网友
调用Socket的每个函数之后,会有对应的返回信息,观察这些返回信息,就可以比较轻松的调试了。如:SOCKET sock=socket();如果不成功,则sock为NULL。 int iret=send();(UDP 用sendto())判断iret的值,它表示实际发送的字节数,如果为-1,则是socket网络故障,一般是sock为NULL,或者没有用WSAStartup()初始化套接字。 iret=recv();(UDP用recvfrom())iret表示实际收到的字节数,故障诊断跟send()一样。 bind(),Listen()等都可以查msn获取它的成功与失败代码。另外用WSAGetLastError()可以获取上次Socket的错误代码,得到这个代码后,你可以在google上搜索这个代码,就知道具体的网络错误(CString sErrorCode;sErrorCode。Format("%d",WSAGetLastError);sErrorCode中就包括了错误代码。)。
热心网友
设端点F9
热心网友
从网上下载一个工具,例如Analyze.exe,可以完全的了解你的网络程序在如何的发送数据包。应该很快就能发现问题。