Socket recv WSAGetLastError()= 10053; socket线程结构 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 10053 连接被重置,多数原因是,服务器的并发连接数超过了其承载数时,会Down掉其中一些连接.你加大连接数看看测试看看 服务器就是我的手机端 客户端就是我自己这边的软体 超过连接数应该不存在 因为我就开了一个Socket 手机端的代码我查看不了,客户那边什么也提供不了。就只有一份文档发送数据后,recv被对方断开,像是你发送的数据违反了对方的协议。这个只能请求客户支持,或者看文档有没有相关信息。 //初始化SocketBOOL SerialportSocket::InitializeSocket(){ m_socket=socket(AF_INET,SOCK_STREAM,0); if(INVALID_SOCKET==m_socket) { return FALSE; } addrSock.sin_family=AF_INET; addrSock.sin_port=htons(54654); addrSock.sin_addr.S_un.S_addr = inet_addr("127.0.0.1"); if (connect(m_socket,(LPSOCKADDR)&addrSock,sizeof(addrSock))) { return FALSE; } //int nNetTimeout=10000; //setsockopt(m_socket,SOL_SOCKET,SO_SNDTIMEO,(char *)&nNetTimeout,sizeof(int)); //setsockopt(m_socket,SOL_SOCKET,SO_RCVTIMEO,(char *)&nNetTimeout,sizeof(int)); //连接成功,数据接收 ThreadFalg = TRUE; pRecvParam->sock=m_socket; pRecvParam->hwnd=m_hWnd; pRecvParam->RecvCommand = m_RecvCommand; pRecvParam->Flag =ThreadFalg; hThread=CreateThread(NULL,0,RecvProc,(LPVOID)pRecvParam,0,NULL); return TRUE;} 手机端的代码我查看不了,客户那边什么也提供不了。就只有一份文档发送数据后,recv被对方断开,像是你发送的数据违反了对方的协议。这个只能请求客户支持,或者看文档有没有相关信息。 我猜测可能也是协议有问题,先把自己的问题排除嘛 。结构体这样发送过去没问题吧iResult = send(m_socket,(char *)&FrameCommand,sizeof(FrameCommand),0); 手机端的代码我查看不了,客户那边什么也提供不了。就只有一份文档发送数据后,recv被对方断开,像是你发送的数据违反了对方的协议。这个只能请求客户支持,或者看文档有没有相关信息。 我猜测可能也是协议有问题,先把自己的问题排除嘛 。结构体这样发送过去没问题吧iResult = send(m_socket,(char *)&FrameCommand,sizeof(FrameCommand),0);有问题,send不确保一次把缓冲区数据发送完,返回值是已经发送的长度。你需要循环send,直到数据发送完毕。 手机端的代码我查看不了,客户那边什么也提供不了。就只有一份文档发送数据后,recv被对方断开,像是你发送的数据违反了对方的协议。这个只能请求客户支持,或者看文档有没有相关信息。 我猜测可能也是协议有问题,先把自己的问题排除嘛 。结构体这样发送过去没问题吧iResult = send(m_socket,(char *)&FrameCommand,sizeof(FrameCommand),0);有问题,send不确保一次把缓冲区数据发送完,返回值是已经发送的长度。你需要循环send,直到数据发送完毕。发送应该是发送完了的,这里面结构体套的结构体。能有类似串口调试的那种小工具就好了 老出现10053,你的手机端走的通讯协议是不是http协议啊。确认下手机端协议,从现象看很象是http协议。 手机端是通过ADB开的一个套接字端口,手机连上PC端,PC端上运行我的程序。之后文档上就只有些结构体的定义什么的了 手机端的代码我查看不了,客户那边什么也提供不了。就只有一份文档发送数据后,recv被对方断开,像是你发送的数据违反了对方的协议。这个只能请求客户支持,或者看文档有没有相关信息。 我猜测可能也是协议有问题,先把自己的问题排除嘛 。结构体这样发送过去没问题吧iResult = send(m_socket,(char *)&FrameCommand,sizeof(FrameCommand),0);有问题,send不确保一次把缓冲区数据发送完,返回值是已经发送的长度。你需要循环send,直到数据发送完毕。发送应该是发送完了的,这里面结构体套的结构体。能有类似串口调试的那种小工具就好了google : SocketTool http://download.csdn.net/tag/SocketTool.exe%E5%B7%A5%E5%85%B7 http://blog.csdn.net/linweidong/article/details/6273507 做的东西和这个有点类似 CMainFrame::OnCreateClient//虚函数未响应是什么原因????? 资源释放问题,如何释放IShellFolder关联的资源? 请教软件兼容性问题 虚心求教:(给100分啊) 编译时的错误,请教? 轻松得分(单选框) 寻找<<COM与COM+从入门到精通>>的随书代码!有分相送!! 怎样用SMTP类发关邮件时通过服务器的验证?(100分) 请问如何修改HeadCtrl颜色? vc怎么把下载的源码包做成软件包啊 如何遍历读取某个目录下所有的TXT文件,求助 STL 的 list push_back()函数 究竟做了什么?
BOOL SerialportSocket::InitializeSocket()
{
m_socket=socket(AF_INET,SOCK_STREAM,0); if(INVALID_SOCKET==m_socket)
{
return FALSE;
} addrSock.sin_family=AF_INET;
addrSock.sin_port=htons(54654);
addrSock.sin_addr.S_un.S_addr = inet_addr("127.0.0.1"); if (connect(m_socket,(LPSOCKADDR)&addrSock,sizeof(addrSock)))
{
return FALSE;
} //int nNetTimeout=10000;
//setsockopt(m_socket,SOL_SOCKET,SO_SNDTIMEO,(char *)&nNetTimeout,sizeof(int));
//setsockopt(m_socket,SOL_SOCKET,SO_RCVTIMEO,(char *)&nNetTimeout,sizeof(int)); //连接成功,数据接收
ThreadFalg = TRUE;
pRecvParam->sock=m_socket;
pRecvParam->hwnd=m_hWnd;
pRecvParam->RecvCommand = m_RecvCommand;
pRecvParam->Flag =ThreadFalg;
hThread=CreateThread(NULL,0,RecvProc,(LPVOID)pRecvParam,0,NULL);
return TRUE;
}
发送应该是发送完了的,这里面结构体套的结构体。能有类似串口调试的那种小工具就好了
发送应该是发送完了的,这里面结构体套的结构体。能有类似串口调试的那种小工具就好了google : SocketTool