资源简介

基于TCP/IP 的一个服务端多个客户端的代码实现。使用事件完成多线程客户端数据接收。基于MFC框架实现,编写环境为VC++6.0. 能够实现多个客户端向服务端发送数据以及服务端向客户端发送数据,发送数据可以包含中文字符以及字母符号等。 文件里面包含服务端程序、客户端程序以及TCP调试助手(用于模拟多客户端)。

资源截图

代码片段和文件信息

// Client.cpp : Defines the entry point for the console application.
//

#include “stdafx.h“
#include   
#include   
#include   
#include   
#include          

const int HANDLE_NUM = 2;

#pragma comment(lib “ws2_32.lib“) 
using namespace std;  

DWORD WINAPI  RecFun(LPVOID lpParameter)
{
SOCKET * socket =(SOCKET *) lpParameter;
while(true)
{
char recData[255];  
int ret = recv(*socket recData 255 0);  
if(ret>0)
{  
recData[ret] = 0x00;  
printf(recData);  
        }  
}
return 0;
}

DWORD WINAPI  SendFun(LPVOID lpParameter)
{
SOCKET *socket =(SOCKET*)lpParameter;
while(true)
{
string data;
cin>>data;  
const char * sendData;  
sendData = data.c_str();   //string转const char*   
send(*socket sendData strlen(sendData)+1 0);  
}
return 0;
}

int main(int argc char* argv[])
{
WORD wVersionRequested;  
WSADATA wsaData;
int err;   
wVersionRequested = MAKEWORD( 1 1 );
err = WSAStartup( wVersionRequested &wsaData );
if(err != 0)
{
        exit(1);
return 0; 
}  

if(LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1)
{
WSACleanup();
        exit(1);
return 0;
}

HANDLE threadRec = NULL;
HANDLE threadSend = NULL;

SOCKET sclient = socket(AF_INET SOCK_STREAM IPPROTO_TCP);  
if(sclient == INVALID_SOCKET)  
{  
printf(“invalid socket!“);  
return 0;  
}  

sockaddr_in serAddr;  
serAddr.sin_family = AF_INET;  
serAddr.sin_port = htons(5555);  
serAddr.sin_addr.S_un.S_addr = inet_addr(“127.0.0.1“);  //服务器端ip地址
int nConRes=connect(sclient (sockaddr *)&serAddr sizeof(serAddr)) ;
if(nConRes== SOCKET_ERROR)  
{  //连接失败   
printf(“connect error !\n“);  
closesocket(sclient);  
return 0;  


if (threadSend == NULL)
{
threadSend = ::CreateThread(NULL 0 SendFun &sclient 0 NULL);   //创建线程 发送数据
}
if(threadRec == NULL)
{
threadRec = ::CreateThread(NULL 0 RecFun &sclient 0 NULL);
}

HANDLE harr[HANDLE_NUM]={threadRecthreadSend};
WaitForMultipleobjects(HANDLE_NUMharrtrueINFINITE);

if (threadRec !=NULL)
CloseHandle(threadRec);
if(threadSend != NULL)
CloseHandle(threadSend);

closesocket(sclient);  
WSACleanup(); 

return 0;
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      65024  2004-08-04 00:52  TCP一个服务端多客户端实现\TCP调试助手\asycfilt.dll

     文件     106496  2004-01-10 10:03  TCP一个服务端多客户端实现\TCP调试助手\CCRPIPA6.OCX

     文件      22288  2016-12-27 12:11  TCP一个服务端多客户端实现\TCP调试助手\COMCAT.DLL

     文件     140288  1999-05-07 01:00  TCP一个服务端多客户端实现\TCP调试助手\Comdlg32.ocx

     文件    1066176  2016-12-27 12:11  TCP一个服务端多客户端实现\TCP调试助手\mscomctl.ocx

     文件     118784  2016-12-27 12:11  TCP一个服务端多客户端实现\TCP调试助手\MSSTDFMT.DLL

     文件    1386496  2016-12-27 12:11  TCP一个服务端多客户端实现\TCP调试助手\msvbvm60.dll

     文件     124688  2016-12-27 12:11  TCP一个服务端多客户端实现\TCP调试助手\Mswinsck.ocx

     文件     549376  2007-05-17 19:29  TCP一个服务端多客户端实现\TCP调试助手\oleaut32.dll

     文件      83456  2004-08-04 00:52  TCP一个服务端多客户端实现\TCP调试助手\olepro32.dll

     文件     126976  2007-11-02 14:21  TCP一个服务端多客户端实现\TCP调试助手\TCP调试助手(V1.9).exe

     文件       1282  2013-02-06 15:04  TCP一个服务端多客户端实现\TCP调试助手\TCP调试助手下载 1.11绿色版_辅助调试UDP-TCP - pc6下载站.url

     文件     101888  2016-12-27 12:11  TCP一个服务端多客户端实现\TCP调试助手\VB6STKIT.DLL

     文件        973  2013-02-06 15:04  TCP一个服务端多客户端实现\TCP调试助手\使用更新说明.txt

     文件       2369  2018-05-10 16:18  TCP一个服务端多客户端实现\客户端\Client.cpp

     文件       4534  2018-05-08 13:39  TCP一个服务端多客户端实现\客户端\Client.dsp

     文件        537  2018-05-07 16:31  TCP一个服务端多客户端实现\客户端\Client.dsw

     文件      50176  2018-05-10 16:20  TCP一个服务端多客户端实现\客户端\Client.ncb

     文件      48640  2018-05-10 16:20  TCP一个服务端多客户端实现\客户端\Client.opt

     文件       1469  2018-05-10 16:19  TCP一个服务端多客户端实现\客户端\Client.plg

     文件       1208  2018-05-07 16:31  TCP一个服务端多客户端实现\客户端\ReadMe.txt

     文件        293  2018-05-07 16:31  TCP一个服务端多客户端实现\客户端\StdAfx.cpp

     文件        769  2018-05-07 16:31  TCP一个服务端多客户端实现\客户端\StdAfx.h

     文件      21312  2018-05-10 16:20  TCP一个服务端多客户端实现\服务器端\MultiTCPServer.aps

     文件       1279  2018-05-10 16:25  TCP一个服务端多客户端实现\服务器端\MultiTCPServer.clw

     文件       2236  2018-05-08 13:49  TCP一个服务端多客户端实现\服务器端\MultiTCPServer.cpp

     文件       4307  2018-05-08 14:59  TCP一个服务端多客户端实现\服务器端\MultiTCPServer.dsp

     文件        553  2018-05-08 13:49  TCP一个服务端多客户端实现\服务器端\MultiTCPServer.dsw

     文件       1412  2018-05-08 13:49  TCP一个服务端多客户端实现\服务器端\MultiTCPServer.h

     文件      91136  2018-05-10 16:25  TCP一个服务端多客户端实现\服务器端\MultiTCPServer.ncb

............此处省略23个文件信息

评论

共有 条评论