资源简介
例程为在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个文件信息
- 上一篇:非常完整的产品需求说明书
- 下一篇:年会抽奖程序----滚动图片
相关资源
- porting.RTEMS移植指南.双语.V20131224.pdf
- ReportMachine 交叉报表 学生成绩表
- reportmachine帮助电子书
- porttalk操作端口 .变速齿轮
- 串口虚拟工具Configure Virtual Serial Por
- WINCC报表(OLE-DB Tag and Alarm Export_V8.x
- teleportultra_22658.zip
-
VESA eDP_v1_3 (em
bedded displayPort Stand -
VESA eDP_v1_3 (em
bedded displayPort Stand - vue实现导出Excel的两个js文件-Blob+Exp
- Blob.js+Export2Excel.js
- ReportEidolon使用帮助
- free-serial-port-monitor_(串口监控调试)
- Nevrona.Rave.Reports.v7.04
- fastreport 向下合并单元格 修改文件
- Cognos10.1.1 Report Studio条件样式的灵活运
- frcc.exe fastreport编译中文没乱码
- Prolific usb-to-serial comm port 驱动 for wi
- USBserialport
- USB Serial Port win7 64/32 驱动后缀丢失,
- AHCIPortInjector.kext下于
- 磁盘分区助手PA5.2_Portable
- liferay portal教程(多部)
- SuperReport VC 报表控件以及源码.rar
- MacPorts-2.4.2-10.13-HighSierra.pkg
- ReportBuilder 官方DEMO+开发指南
- EMS Advanced Data Export Component Suite (SR
- Catalyzed synthesis of 2-(4‘-ethylbenzoyl)
- Catalytic Activity of Styrene-divinyl Benzene
- reportdesign基于lodop的vue简单打印设计工
评论
共有 条评论