C++中的TCP通信

这两天简单地看了下C++的socket通信,说起socket通信,就不得不提及TCP/IP 协议,这个协议大名鼎鼎,我想看过编程的至少听说过。在TCP/IP协议下,最常见的就是TCP和UDP,不过C++中的UDP我还没有看过,今天就简单说说C++中的TCP通信,大致分成下面四部分:
  1. TCP简介
  2. TCP通信流程
  3. Windows下TCP通信API的简介
  4. TCP通信的C++代码

1,TCP简介

TCP提供了一个完全可靠的,面向连接的,全双工的(包含两个独立且方向相反的连接)流传输服务,允许两个应用程序建立一个连接,并在全双工的方向上发送数据,然后终止连接。每一个TCP连接都可靠的简历连接并完善的终止,在终止发生前,所有数据都会被可靠地传送。
TCP通信的客户端和服务端每次通信都会有3次握手的过程,这3次握手,确保数据能够准确地发送到对方。TCP通信是分为客户端和服务端的。

2,TCP通信流程

TCP通信服务端和客户端代码是不同的。首先,服务端有一个ServerSocket,初始化以后(包括设置IP和端口,绑定监听等过程),这些都设置好以后,就可以使用accept()方法等待客户端连接了,这个方法是阻塞的。一旦连接成功,就会返回一个新的Socket,使用这个Socket就可以接收数据和发送数据了。客户端自始始终都只有一个Socket,这个Socket初始化以后,使用connect()方法和服务器进行连接,连接成功后,这个Socket就可以进行通信了。

服务端

Created with Raphaël 2.1.0 调用WSAStartup函数初始化Winsock 调用socket函数创建一个服务端Socket 调用bind函数为服务端socket指制定通信对象 调用listen函数设置登台连接状态 调用accept函数接收客户端的连接请求并且生成一个新的会话socket
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值