Socket通信是一种在网络中进行进程间通信的机制。它使用了一种称为套接字(Socket)的编程接口,通过该接口可以创建、连接、发送和接收数据等操作。
Socket通信中,有两个主要的角色:服务器和客户端。服务器负责监听指定的端口,等待客户端的连接请求;而客户端则主动发起连接请求,与服务器建立连接。
创建Socket连接时,可以指定使用的传输层协议,Socket可以支持不同的传输层协议(TCP或UDP),
? 网络7层协议架构图
? 1. socket则是对TCP/IP协议的封装和应用
Socket通信中的Tcp协议三次握手(建立连接)和四次挥手(断开连接)是建立和断开连接的过程。
三次握手:建立连接过程
socket()
函数创建一个套接字,并调用connect()
函数向服务器发起连接请求。socket()
函数创建一个套接字,并调用bind()
函数绑定IP地址和端口号,然后调用listen()
函数监听连接请求。四次挥手:关闭连接过程
close()
函数关闭连接。close()
函数关闭连接。socket实现通信在应用层面(代码层面)大致需要完成以下几个步骤:
服务器端:
第一步:建立一个用于通信的Socket对象
第二步:使用bind绑定IP地址和端口号
第三步:使用listen监听客户端
第四步:使用accept中断程序直到连接上客户端
第五步:接收来自客户端的请求
第六步:返回客户端需要的数据
第七步:如果接收到客户端已关闭连接信息就关闭服务器端
客户端:
第一步:建立一个用于通信的Socket对象
第二步:根据指定的IP和端口connet服务器
第三步:连接成功后向服务器端发送数据请求
第四步:接收服务器返回的请求数据
第五步:如果还需要请求数据继续发送请求
第六步:如果不需要请求数据就关闭客户端并给服务器发送关闭连接信息
1.Socket通信案例:
配置启动项目?
服务器程序
客户端程序
案例2:socket控制拍照功能