基于TCP协议的Socket通信【一】
前言
TCP/IP UDP是什么?
在学习socket之前的必要步骤,具体内容请移步另一篇博文TCP/IP
上篇TCP/IP偏向初学者入门理论,为方便理解这里附上一张具体的关系图:
Socket相关
什么是Socket
socket位于上图应用层和传输层之间的抽象层。
听说过TCP三次握手吗?具体是这样的:
具体函数细解会在下一篇博文中详述,这里留个链接,有需要请移步。
socket通信步骤
-
创建ServerSocket和Socket
-
打开连接到的Socket的输入/输出流
-
按照协议对Socket进行读/写操作
-
关闭输入输出流,以及Socket
socket服务端的编写
-
创建ServerSocket对象,绑定监听的端口
-
调用accept()方法监听客户端的请求
-
连接建立后,通过输入流读取客户端发送的请求信息
-
通过输出流向客户端发送响应信息
-
关闭相关资源
socket客户端的编写
-
创建Socket对象,指明需要链接的服务器的地址和端号
-
链接建立后,通过输出流向服务器发送请求信息
-
通过输出流获取服务器响应的信息
-
关闭相关资源
图片来源:Socket通信原理
部分内容参考:https://www.runoob.com/w3cnote/android-tutorial-socket1.html