DWORD WINAPI th_Recvthread( LPVOID lp )
{
DWORD CompKey, dwNumBytes ;
goto label_Continue_Recvthread;
label_Continue_Recvthread:
while( g_Threading ) {
try{
bReturn = g_pIOCP->GetStatus( &CompKey, &dwNumBytes, (WSAOVERLAPPED**)&pOverlapped, INFINITE ) ; pRecv_ov = (_h_Recv_Overlapped*)pOverlapped ;
sRecv_sock = pRecv_ov->m_socket;
} int GetStatus(DWORD * pCompKey, PDWORD pdwNumBytes, WSAOVERLAPPED** ppo, DWORD dwMilliseconds = INFINITE) {
return (GetQueuedCompletionStatus(m_hIOCP, pdwNumBytes, pCompKey, ppo, dwMilliseconds));
在192.168.1.12的时候通讯好的.[27]-[1:6:6][INFO]Sever to Server Connect success! (IP:192.168.1.12)
[27]-[1:6:6]ERROR1 dwNumBytes=4
[27]-[1:6:6]********************************************
[27]-[1:6:6]dwNumBytes=4
[27]-[1:6:6]********************************************
[27]-[1:6:6][INFO] Send GS Server info(No:1)
[27]-[1:6:6]ERROR1 dwNumBytes=42
[27]-[1:6:6]********************************************
[27]-[1:6:6]dwNumBytes=42
[27]-[1:6:6]********************************************
[27]-[1:6:6]ERROR1 dwNumBytes=5
[27]-[1:6:6]********************************************
[27]-[1:6:6]dwNumBytes=5
[27]-[1:6:6]********************************************
[27]-[1:6:6]ERROR1 dwNumBytes=518
[27]-[1:6:6]********************************************
[27]-[1:6:6]dwNumBytes=518
[27]-[1:6:6]********************************************
[27]-[1:6:14]ERROR1 dwNumBytes=67
[27]-[1:6:14]********************************************
[27]-[1:6:14]dwNumBytes=67
[27]-[1:6:14]********************************************
[27]-[1:6:14]ERROR1 dwNumBytes=67
[27]-[1:6:14]********************************************
[27]-[1:6:14]dwNumBytes=67
[27]-[1:6:14]********************************************
[27]-[1:8:14]ERROR1 dwNumBytes=67
[27]-[1:8:14]********************************************
[27]-[1:8:14]dwNumBytes=67
[27]-[1:8:14]********************************************
[27]-[1:8:14]ERROR1 dwNumBytes=67
[27]-[1:8:14]********************************************
[27]-[1:8:14]dwNumBytes=67
[27]-[1:8:14]********************************************
[27]-[1:10:14]ERROR1 dwNumBytes=67
[27]-[1:10:14]********************************************
[27]-[1:10:14]dwNumBytes=67
[27]-[1:10:14]********************************************
[27]-[1:10:14]ERROR1 dwNumBytes=67
[27]-[1:10:14]********************************************
[27]-[1:10:14]dwNumBytes=67
[27]-[1:10:14]********************************************
[27]-[1:12:14]ERROR1 dwNumBytes=67
[27]-[1:12:14]********************************************
[27]-[1:12:14]dwNumBytes=67
我把程序考到192.168.1.136就不行了。[27]-[0:45:29][INFO]Sever to Server Connect success! (IP:192.168.1.136)
[27]-[0:45:29]ERROR1 dwNumBytes=4
[27]-[0:45:29]********************************************
[27]-[0:45:29]dwNumBytes=4
[27]-[0:45:29]********************************************
[27]-[0:45:29][INFO] Send GS Server info(No:1)
[27]-[0:45:29]ERROR1 dwNumBytes=42
[27]-[0:45:29]********************************************
[27]-[0:45:29]dwNumBytes=42
[27]-[0:45:29]********************************************
[27]-[0:45:29]ERROR1 dwNumBytes=5
[27]-[0:45:29]********************************************
[27]-[0:45:29]dwNumBytes=5
[27]-[0:45:29]********************************************
[27]-[0:45:29]ERROR1 dwNumBytes=518
[27]-[0:45:29]********************************************
[27]-[0:45:29]dwNumBytes=518
[27]-[0:45:29]********************************************
[27]-[0:45:40]ERROR1 dwNumBytes=0
[27]-[0:45:40]********************************************
[27]-[0:45:40]dwNumBytes=0
[27]-[0:45:40]********************************************
[27]-[0:45:40][SO_ERR] Recv error(Close socket) : socket = 1104, ip = 192.168.1.
136
[27]-[0:45:40][INFO] GS(No.1) Disconnected, User data backup success (0/0)
能帮忙看看出了什么问题不?谢谢啦!
{
DWORD CompKey, dwNumBytes ;
goto label_Continue_Recvthread;
label_Continue_Recvthread:
while( g_Threading ) {
try{
bReturn = g_pIOCP->GetStatus( &CompKey, &dwNumBytes, (WSAOVERLAPPED**)&pOverlapped, INFINITE ) ; pRecv_ov = (_h_Recv_Overlapped*)pOverlapped ;
sRecv_sock = pRecv_ov->m_socket;
} int GetStatus(DWORD * pCompKey, PDWORD pdwNumBytes, WSAOVERLAPPED** ppo, DWORD dwMilliseconds = INFINITE) {
return (GetQueuedCompletionStatus(m_hIOCP, pdwNumBytes, pCompKey, ppo, dwMilliseconds));
在192.168.1.12的时候通讯好的.[27]-[1:6:6][INFO]Sever to Server Connect success! (IP:192.168.1.12)
[27]-[1:6:6]ERROR1 dwNumBytes=4
[27]-[1:6:6]********************************************
[27]-[1:6:6]dwNumBytes=4
[27]-[1:6:6]********************************************
[27]-[1:6:6][INFO] Send GS Server info(No:1)
[27]-[1:6:6]ERROR1 dwNumBytes=42
[27]-[1:6:6]********************************************
[27]-[1:6:6]dwNumBytes=42
[27]-[1:6:6]********************************************
[27]-[1:6:6]ERROR1 dwNumBytes=5
[27]-[1:6:6]********************************************
[27]-[1:6:6]dwNumBytes=5
[27]-[1:6:6]********************************************
[27]-[1:6:6]ERROR1 dwNumBytes=518
[27]-[1:6:6]********************************************
[27]-[1:6:6]dwNumBytes=518
[27]-[1:6:6]********************************************
[27]-[1:6:14]ERROR1 dwNumBytes=67
[27]-[1:6:14]********************************************
[27]-[1:6:14]dwNumBytes=67
[27]-[1:6:14]********************************************
[27]-[1:6:14]ERROR1 dwNumBytes=67
[27]-[1:6:14]********************************************
[27]-[1:6:14]dwNumBytes=67
[27]-[1:6:14]********************************************
[27]-[1:8:14]ERROR1 dwNumBytes=67
[27]-[1:8:14]********************************************
[27]-[1:8:14]dwNumBytes=67
[27]-[1:8:14]********************************************
[27]-[1:8:14]ERROR1 dwNumBytes=67
[27]-[1:8:14]********************************************
[27]-[1:8:14]dwNumBytes=67
[27]-[1:8:14]********************************************
[27]-[1:10:14]ERROR1 dwNumBytes=67
[27]-[1:10:14]********************************************
[27]-[1:10:14]dwNumBytes=67
[27]-[1:10:14]********************************************
[27]-[1:10:14]ERROR1 dwNumBytes=67
[27]-[1:10:14]********************************************
[27]-[1:10:14]dwNumBytes=67
[27]-[1:10:14]********************************************
[27]-[1:12:14]ERROR1 dwNumBytes=67
[27]-[1:12:14]********************************************
[27]-[1:12:14]dwNumBytes=67
我把程序考到192.168.1.136就不行了。[27]-[0:45:29][INFO]Sever to Server Connect success! (IP:192.168.1.136)
[27]-[0:45:29]ERROR1 dwNumBytes=4
[27]-[0:45:29]********************************************
[27]-[0:45:29]dwNumBytes=4
[27]-[0:45:29]********************************************
[27]-[0:45:29][INFO] Send GS Server info(No:1)
[27]-[0:45:29]ERROR1 dwNumBytes=42
[27]-[0:45:29]********************************************
[27]-[0:45:29]dwNumBytes=42
[27]-[0:45:29]********************************************
[27]-[0:45:29]ERROR1 dwNumBytes=5
[27]-[0:45:29]********************************************
[27]-[0:45:29]dwNumBytes=5
[27]-[0:45:29]********************************************
[27]-[0:45:29]ERROR1 dwNumBytes=518
[27]-[0:45:29]********************************************
[27]-[0:45:29]dwNumBytes=518
[27]-[0:45:29]********************************************
[27]-[0:45:40]ERROR1 dwNumBytes=0
[27]-[0:45:40]********************************************
[27]-[0:45:40]dwNumBytes=0
[27]-[0:45:40]********************************************
[27]-[0:45:40][SO_ERR] Recv error(Close socket) : socket = 1104, ip = 192.168.1.
136
[27]-[0:45:40][INFO] GS(No.1) Disconnected, User data backup success (0/0)
能帮忙看看出了什么问题不?谢谢啦!
你的线程是用来干什么的啊,监听么?建议发在网络编程,线程进程板块
真奇怪!望高人指点!
是你主动关闭还是被动关闭?
服务端客户端的代码都要检查,是不是因为粘包问题而做出了错误的判断。如3次没有收到正确的包就关闭socket