• 大小: 9.86MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-24
  • 语言: 其他
  • 标签: port  

资源简介

例程为在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个文件信息

评论

共有 条评论