资源简介
基于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个文件信息
- 上一篇:vc+SQL实现医院收费管理系统
- 下一篇:严蔚敏第二版C语言数据结构课后习题答案
相关资源
- MultiThread(VS2013 MFC多线程-含源码-含个
- MFC网络编程服务端和客户端的通讯
- 基于TCP/IP socket的局域网聊天系统
- C++编写的多线程C/S模式仿QQ软件
- vc-基于MFC编程,使用TCP/IP模型编写
- 多线程
- C++ Concurrency in Action 2nd edition235206
- C++多线程网络聊天程序
- MFC中利用多线程实现定时器
- TCP/IP实现 简易聊天室 C++
- MFC实现多任务多线程软件
- MFC多线程编程三个
- 网络编程HttpServer c++实现
- C++ Socket 多线程多机聊天
- 冒险岛c++服务端源码
- 基于SOCKET的C++ 即时通讯系统
- posix 多线程程序设计中文版-带书签
- 连连看项目完整版包含项目文档
- C++11实现多线程电梯运行
- 服务端和客户端(MFC CSocket)
- MFC多线程编程实例120658
- C++基于UDP的控制台局域网聊天程序
- MFC TCP/IP 网络 多人聊天室
- C++并发编程实战(英文版)
- c++并发编程实战C++11完整pdf中文版
- 实现客户端与服务端的文件传输
- c++ concurrency in action 2nd edition
- 支持多线程和断点续传的FTP客户端
- 热血江湖服务端C++源代码,完整游戏
- Win32多线程程序设计 pdf高清
评论
共有 条评论