资源简介
例程为在VS2010下的一个进程拥有多个端口的client和server通信的例子,亲测可用,编译没问题的。
代码片段和文件信息
// server.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
//服务器
#include
#include // socket 所需要的头文件
#pragma comment(lib“WS2_32.lib“)// link socket 库
//#define PORT 9999
#define THREAD1_PORT 1234
#define THREAD2_PORT 5678
#define BUFLEN 1024
using namespace std;
DWORD WINAPI ThreadTest1(LPVOID lpParamter)
{
WSADATA wsaData;
// 1 启动并初始化winsock(WSAStarup)
if (WSAStartup(MAKEWORD(2 2) &wsaData)) {//成功返回0
return FALSE;
}
//2 创建套接字(socket)
SOCKET sServer = socket(AF_INET SOCK_STREAM IPPROTO_TCP);
if (INVALID_SOCKET == sServer) {
WSACleanup();
return FALSE;
}
//3 准备通信地址
SOCKADDR_IN addrServer;
addrServer.sin_family = AF_INET;
addrServer.sin_port = htons(THREAD1_PORT);
addrServer.sin_addr.s_addr = INADDR_ANY;//任意可用地址
//4 绑定地址与socket(bind)
if (SOCKET_ERROR == bind(sServer (const sockaddr*)&addrServer sizeof(SOCKADDR_IN))) {
closesocket(sServer);
WSACleanup();
return FALSE;
}
//5 监听 (listen)
if (SOCKET_ERROR == listen(sServer SOMAXCONN)) {
closesocket(sServer);
WSACleanup();
}
// 6 等待客户端连接(accpet)
sockaddr_in addrClient;
int addrClientLen = sizeof(addrClient);
cout << “server thread1 start successfullywait client connection!“ << endl;
SOCKET sClient = accept(sServer (sockaddr *)&addrClient &addrClientLen);
if (INVALID_SOCKET == sClient) {
cout << WSAGetLastError() << endl;
closesocket(sServer);
closesocket(sClient);
WSACleanup();
return FALSE;
}
while (1) {
//7 接收数据(recv)
char recvBuf[BUFLEN];
ZeroMemory(recvBuf sizeof(recvBuf));
if (SOCKET_ERROR == recv(sClient recvBuf sizeof(recvBuf) 0))
{
closesocket(sServer);
closesocket(sClient);
WSACleanup();
return FALSE;
}
cout << “server thread1 receive client(“ << inet_ntoa(addrClient.sin_addr) << “:“ << addrClient.sin_port << “):“ << recvBuf << endl;
//8 发送数据
char sendBuf[BUFLEN] = “hello client,I‘am server thread1!“;
if (SOCKET_ERROR == send(sClient sendBuf sizeof(sendBuf) 0))
{
closesocket(sServer);
closesocket(sClient);
WSACleanup();
return FALSE;
}
}
}
int main()
{
HANDLE hThread = CreateThread(NULL 0 ThreadTest1 NULL
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-03-04 22:18 TCP_oneProce_mutiPort\
文件 15734 2019-03-03 16:25 TCP_oneProce_mutiPort\tcp.pcap
目录 0 2019-03-04 23:15 TCP_oneProce_mutiPort\tcp_client_server\
目录 0 2019-03-04 23:14 TCP_oneProce_mutiPort\tcp_client_server\Debug\
文件 41984 2019-03-04 22:49 TCP_oneProce_mutiPort\tcp_client_server\Debug\server.exe
文件 58368 2019-03-04 22:49 TCP_oneProce_mutiPort\tcp_client_server\Debug\tcp_client_server.exe
目录 0 2019-03-04 22:19 TCP_oneProce_mutiPort\tcp_client_server\ipch\
目录 0 2019-03-04 22:19 TCP_oneProce_mutiPort\tcp_client_server\ipch\server-5dd51512\
文件 2359296 2019-03-04 22:37 TCP_oneProce_mutiPort\tcp_client_server\ipch\server-5dd51512\server-2e75de63.ipch
目录 0 2019-03-04 22:19 TCP_oneProce_mutiPort\tcp_client_server\ipch\tcp_client_server-1d070cfa\
文件 2359296 2019-03-04 22:41 TCP_oneProce_mutiPort\tcp_client_server\ipch\tcp_client_server-1d070cfa\tcp_client_server-4a62d9a7.ipch
目录 0 2019-03-04 22:18 TCP_oneProce_mutiPort\tcp_client_server\server\
目录 0 2019-03-04 23:14 TCP_oneProce_mutiPort\tcp_client_server\server\Debug\
文件 2815 2019-03-04 23:14 TCP_oneProce_mutiPort\tcp_client_server\server\Debug\server.Build.CppClean.log
文件 680 2019-03-04 23:14 TCP_oneProce_mutiPort\tcp_client_server\server\Debug\server.log
文件 1546 2019-03-03 15:31 TCP_oneProce_mutiPort\tcp_client_server\server\ReadMe.txt
文件 5745 2019-03-04 23:14 TCP_oneProce_mutiPort\tcp_client_server\server\server.cpp
文件 4398 2019-03-03 15:34 TCP_oneProce_mutiPort\tcp_client_server\server\server.vcxproj
文件 1310 2019-03-03 15:31 TCP_oneProce_mutiPort\tcp_client_server\server\server.vcxproj.filters
文件 143 2019-03-03 15:31 TCP_oneProce_mutiPort\tcp_client_server\server\server.vcxproj.user
文件 211 2019-03-03 15:31 TCP_oneProce_mutiPort\tcp_client_server\server\stdafx.cpp
文件 233 2019-03-03 15:31 TCP_oneProce_mutiPort\tcp_client_server\server\stdafx.h
文件 236 2019-03-03 15:31 TCP_oneProce_mutiPort\tcp_client_server\server\targetver.h
目录 0 2019-03-04 22:18 TCP_oneProce_mutiPort\tcp_client_server\tcp_client_server\
文件 28856320 2019-03-04 23:15 TCP_oneProce_mutiPort\tcp_client_server\tcp_client_server.sdf
文件 1375 2019-03-03 15:34 TCP_oneProce_mutiPort\tcp_client_server\tcp_client_server.sln
文件 17920 2019-03-04 23:15 TCP_oneProce_mutiPort\tcp_client_server\tcp_client_server.suo
目录 0 2019-03-04 23:14 TCP_oneProce_mutiPort\tcp_client_server\tcp_client_server\Debug\
文件 3233 2019-03-04 23:14 TCP_oneProce_mutiPort\tcp_client_server\tcp_client_server\Debug\tcp_client_server.Build.CppClean.log
文件 746 2019-03-04 23:14 TCP_oneProce_mutiPort\tcp_client_server\tcp_client_server\Debug\tcp_client_server.log
文件 1623 2019-03-03 15:30 TCP_oneProce_mutiPort\tcp_client_server\tcp_client_server\ReadMe.txt
............此处省略7个文件信息
- 上一篇:非常完整的产品需求说明书
- 下一篇:年会抽奖程序----滚动图片
相关资源
- TeleportUltra中文破解版
- Virtual Com port driver V1.4.0(含64位系统缺
- 虚拟串口工具9.0 中文版 (支持win10)
- SerialPortMonitor7.0.312.rar
- texturePacker Import
- S7-1500ModbusTCP通信_内带PortalV15程序
- LaTeX: A Document Preparation System 英文原版
- 中国机场数据.xlsx
- FastReport报告模板设计器
- 友善串口助手 V2.5.8.0825 Serial Port Uti
- FastReport .net初级教程
- Grid++Report5+破解补丁
- FastReport4.2.zip
- The standard for portfolio management 4th edit
- 网络嗅探,主机扫描,端口扫描
- FastReport4.3
- easyui 各种导出
- What Hedge Funds Do
- FastReport_1.9.9_OK.rar
- FastReport v6.3.11 Enterprise Full Source
- TIA Portal如何设置实现PLC与HMI仿真通讯
- ssd4 UAR report
- ReportViewer.exe
- FastReport Professtional 5.6.2 Full Source for
- fastreport所需的dll文件5个
- 无线通信原理与应用 美拉帕波特Ra
- BoilsoftVideoJoinerPortable
- fastReport教程demo、官方文档、中文帮助
- Display port 1.4 协议规范
- SublimeText3Build3103x64PortableCracked(2016
评论
共有 条评论