c++ socket通信(TCP/IP) 简单实例 (Windows)

本篇博客介绍了在Windows环境下使用C++进行TCP/IP Socket通信的详细步骤,包括在Visual Studio中新建项目、加载socket库、创建套接字、绑定端口与连接、通过send和recv进行通信,以及关闭套接字。博客提供了server端和client端的代码示例,指导读者实现两端的交互通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇将讲解c++的socket实现

IDE

推荐大家使用 Microsoft Visual Studio,可以省去很多繁琐的设定

1.新建项目

server端

新建项目 server,并添加源文件 server.cpp

client端

新建项目 client,并添加源文件 client.cpp

2.加载socket库

server端 && client端
#include <iostream>
#include <thread> //多线程
#include <winsock.h> //socket头文件
#pragma comment (lib,"ws2_32.lib") //加载socket

using namespace std;

int main()
{
   
    WSADATA wsaData;
    WSAStartup(MAKEWORD(2, 2), &wsaData);

    /*具体实现代码*/

    WSACleanup();
    return 0;
}

3.创建套接字(socket)

调用socket函数创建套接字

server端
SOCKET server;
SOCKET client;

server = socket(AF_INET, SOCK_STREAM, 0);
client端
SOCKET client;

client = socket(AF_INET, SOCK_STREAM, 0);

4.绑定端口与连接

server端

在server端调用函数bind绑定端口,listen设定同时最大连接数,accept接受client端的连接

int len;

SOCKADDR_IN server_addr;//使用结构体 SOCKADDR_IN 存储配置
SOCKADDR_IN client_addr;

memset(&server_addr, 0, sizeof(server_addr)); //清零
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); //server端ip地址
server_addr.sin_port = htons(1234); //监听端口
bind(server, (SOCKADDR*)&server_addr, sizeof(SOCKADDR));

listen(server, 10);
cout << "等待连接......" << endl;

len = sizeof(SOCKADDR);
client = accept(server, (SOCKADDR*)&client_addr, &len);
cout << "连接成功" << endl;
client端

在client端调用函数connect连接server端

SOCKADDR_IN client_addr;//使用结构体 SOCKADDR_IN 存储配置

memset
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值