Socket是什么?
-
Socket是网络通讯的基石,是对TCP/IP协议的一个抽象和封装,只有通过Socket API我们才能够使用TCP/IP协议。
-
Socket套接字层处于应用层和传输层之间可以直接和传输层和网络层通讯。
-
应用层和传输层通过Socket接口,区分来自不同应用程序进程或网络连接的通讯,实现数据传输的并发服务
Socket连接的建立
建立Socket连接至少需要一对套接字,分别运行于服务端(ServerSocket)和客户端(ClientSocket)。套接字直接的连接过程氛围三个步骤:
-
Step 1 服务器监听
服务端Socket始终处于等待连接状态,实时监听是否有客户端请求连接。 -
Step 2 客户端请求
客户端Socket提出连接请求,指定服务端Socket的地址和端口号,这时就可以向对应的服务端提出Socket连接请求。 -
Step 3 连接确认
当服务端Socket监听到客户端Socket提出的连接请求时作出响应,建立一个新的进程,把服务端Socket的描述发送给客户端,该描述得到客户端确认后就可建立起Socket连接。而服务端Socket则继续处于监听状态,继续接收其他客户端Socket的请求。
参考链接:Socket简析与iOS实现