ockaddr *)&Target,sizeof(Target))==SOCKET_ERROR) { printf("\nconnect() to target failed:%d",GetLastError()); __leave; } printf("\nconnect to %s %d success!",TargetIP,TargetPort); //创建两个线程进行数据转发 hThreadC2T=CreateThread(NULL,0,TCPDataC2T,(LPVOID)sock,0,&dwThreadID); hThreadT2C=CreateThread(NULL,0,TCPDataT2C,(LPVOID)sock,0,&dwThreadID); //等待两个线程结束 WaitForSingleObject(hThreadC2T,INFINITE); CloseHandle(hThreadC2T); CloseHandle(hThreadT2C); closesocket(sock[0]); closesocket(sock[1]); }//end of while }//end of try __finally { if(sock[0]!=INVALID_SOCKET) closesocket(sock[0]); if(sock[1]!=INVALID_SOCKET) closesocket(sock[1]); if(hThreadC2T!=NULL) CloseHandle(hThreadC2T); if(hThreadT2C!=NULL) CloseHandle(hThreadT2C); WSACleanup(); } return 0;
} 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] |