Java网络编程(三)之TCP

      最后更新:2022-02-10 08:48:26 手机定位技术交流文章

      TCP

      TCP通信原理

      • Java对基于TCP协议的的网络提供了良好的封装,使用Socket对象来代表两端的通信端口,并通过Socket产生IO流来进行网络通信。

      • Java为客户端提供了Socket类,为服务器端提供了ServerSocket类

      TCP发送数据

      步骤

      (1)创建客户端Socket对象与指定服务端连接

      Socket(String host,int port)

      (2)获取输出流,写数据

      OutputStream getOutputStream()

      (3)释放资源

      void close()

      构造方法

      方法名 说明
      Socket(InetAddress address,int port) 创建流套接字并将其连接到指定IP指定端口号
      Socket(String host, int port) 创建流套接字并将其连接到指定主机上的指定端口号

      相关方法

      方法名 说明
      InputStream getInputStream() 返回此套接字的输入流
      OutputStream getOutputStream() 返回此套接字的输出流

      TCP接收数据

      步骤

      (1)创建服务器端的Socket对象(ServerSocket)

      ServerSocket(int port)

      (2)监听客户端连接,返回一个Socket对象

      Socket accept()

      (3)获取输入流,读数据,并把数据显示在控制台

      InputStream getInputStream()

      构造方法

      方法名 说明
      ServletSocket(int port) 创建绑定到指定端口的服务器套接字

      相关方法

      方法名 说明
      Socket accept() 监听要连接到此的套接字并接受它

      代码实现

      发送端

      接收端

      注意事项

      1. accept方法是阻塞的,作用就是等待客户端连接

      2. 客户端创建对象并连接服务器,此时是通过三次握手协议,保证跟服务器之间的连接

      3. 针对客户端来讲,是往外写的,所以是输出流;针对服务器来讲,是往里读的,所以是输入流

      4. read方法也是阻塞

      5. 客户端在关流的时候,还多了一个往服务器写结束标记的动作

      6. 最后一步断开连接,通过四次挥手协议保证连接终止

      三次握手

      四次挥手

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/18104.html

          热门文章

          文章分类