c++ 网络编程 基本交互与多线程交互

   提到网络编程我们首先想到的是socket,俗称套接字,他将端口和ip进行连接, 然后是winsock,是windows提供的一款网络编程接口。分为1和2两个版本,版本1只提供tcp和udp协议。

  tcp和udp是网络通讯基本协议,tcp协议需要三次招手,要求稳定的连接,如同和服务器要有夫妻的名分,udp直接发送到服务器,一夜情

  关于c++的网络编程,微软提供了进行操作的程序接口

  先说服务器端

  1. socket()
  2. bind()
  3. listen()
  4. accept()
  5. recv()/send()
  6. close()

   这就是大致流程,先创建套接字,连接ip和端口,开放访问,再是等待客户端的访问,然后接受访问,保存消息,发送反馈

//winsock是windows提供的一款网络编程接口。分为1和2两个版本,版本1只提供tcp和udp协议

//tcp协议需要稳定链接到服务器,所以说要三次招手
//udp直接打包到网络上发送,不需要链接
#include<WinSock2.h>
//windows.h需要在winsock下面包含
#include<Windows.h>
//网络分为cs和bs'两种模式,cs是客户端和服务器交互,bs是游览器和服务器交互

#include<iostream>

#pragma comment(lib,"ws2_32.lib")

#include<WS2tcpip.h>

int main()
{
	//1.初始化网络环境
	//第一个参数 sock版本号
	//WSAStartup(0X0202);
	WSADATA date{ 0 };
	WSAStartup(MAKEWORD(2,2),&date);

	//2 创建SOCKET
	//参数1 地址系列
	//参数二 套接类型
	//参数三 传输协议
	SOCKET server = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

	//3 绑定端口号和IP地址,让客户端可以链接
	//使用sockaddr_in结构体保存端口和ip
	sockaddr_in serverAddr{ 0 };
	serverAddr.sin_family = AF_INET;
	//绑定端口 需要用htons转换
	serverAddr.sin_port = htons(8888);
	
	//绑定ip地址
	inet_pton(AF_INET, "10.212.37.134", &serverAddr.sin_addr);

	//全部链接到服务器 
	//参数1 socket对象 参数2 sockaddr_in结构体地址转SOCKADDR 参数3 结构体大小
	bind(server, (SOCKADD
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值