一:介绍一下Socket
程序之间的通讯,使用Socket来连接处理数据,就是一种协议。
二:Socket相关概念
端口:可以认为是设备与外界通讯交流的出口。
IP:又译为网际协议或互联网协议,是用在TCP/IP协议簇中的网络层协议。
协议:TCP/UDP
TCP | UDP | |
---|---|---|
速度 | 慢 | 快 |
是否连接 | 面向连接(3次握手) | 无连接 |
传输可靠性 | 安全稳定,效率低 | 速度快、效率高,不稳定 |
数据量 | 少量 | 大量 |
三次握手:
(1)在建立通道时,客户端首先要向服务端发送一个SYN同步信号。
(2)服务端在接收到这个信号之后会向客户端发出SYN同步信号和ACK确认信号。
(3)当服务端的ACK和SYN到达客户端后,客户端与服务端之间的这个“通道”就会被建立起来。
三:Socket通信基本流程图
四:代码演示
1.首先我们编写服务器代码,创建负责通讯的Socket绑定对应的IP和端口号,然后进行监听。
1 | //创建负责通讯的Socket |
2.接受客户端发送的信息
1 | /// <summary> |
3.编写客户端:
首先得创建一个Socket对象负责通讯,然后绑定和服务器同一个IP和端口,然后和服务器进行连接。
1 | //创建负责通讯的Socket |
4.客户端轮询接受服务器的信息
1 | /// <summary> |
5.可以进行验证客户机和服务器是否连接成功:
左边是客户端,右边是服务器。
6.客户端和服务端发送信息
1 | string str = txt_send.Text.Trim(); |
7.源码地址