c++ win socket网络通信实例

本文介绍了C++在Windows环境下实现TCP和UDP socket通信的基本逻辑和实例。首先,详细阐述了TCP socket通信的流程,包括服务器端的初始化、绑定、监听和接受连接。接着,给出了一个简单的TCP socket通信的服务器端和客户端代码示例。最后,简要提及了UDP socket通信的逻辑。
摘要由CSDN通过智能技术生成

一、TCP socket通信逻辑

在这里插入图片描述
流程:
服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接。在这时如果有个客户端初始化一个Socket,然后连接服务器(connect),如果连接成功,这时客户端与服务器端的连接就建立了。客户端发送数据请求,服务器端接收请求并处理请求,然后把回应数据发送给客户端,客户端读取数据,最后关闭连接,一次交互结束。

二、一个很简单的TCP socket通信实例

服务器端:

#include <iostream>
#include<stdio.h>
#include<WinSock2.h>
#include<cstring>
#pragma comment(lib, "ws2_32.lib")
using namespace std;

/********************全局常量*********************/
const int BUF_SIZE = 2048;
/********************全局变量*********************/
SOCKET sockSer, sockCli;  //socket
SOCKADDR_IN addrSer, addrCli;   //address   SOCKADDR_IN将sin_addr与sin_port分开,方便赋值;SOCKADDR放在一起,方便传输
int naddr = sizeof(SOCKADDR_IN);
char sendbuf[BUF_SIZE];
char inputbuf[BUF_SIZE];
char recvbuf[BUF_SIZE];

int main()
{
   
	//加载socket库
	WSADATA wsadata;
	if (WSAStartup(MAKEWORD(2, 1), &wsadata
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值