前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Java 网络编程】TCP API 简介 ( Socket | ServerSocket )

【Java 网络编程】TCP API 简介 ( Socket | ServerSocket )

作者头像
韩曙亮
发布2023-03-27 17:03:22
3810
发布2023-03-27 17:03:22
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

I Socket API 简介

1. Socket 是客户端套接字的类 ;

2. Socket 构造方法 : 调用 Socket() , 创建 Socket 套接字对象 ; 创建之后 , 设置都是默认值 , 可以调用各种设置方法设置 Socket 对象的参数 ;

3. 端口绑定 : bind() , 将某个本地 IP 地址和端口号绑定到 Socket 对象上 ;

4. 连接服务器 : connect() , 连接服务器端 ;

II ServerSocket API 简介

1. ServerSocket 是服务器端套接字类 ;

2. 接受客户端连接 : 调用 accept() , 接受客户端的连接 , 该连接时新的连接 ;

  • ① 阻塞状态 : 该方法调用之后 , 会将当前线程阻塞 , 直到客户端的连接到达; 因此需要单独开启一条线程用来建立与客户端的连接 ;
  • ② 等待连接阻塞时间设置 : 默认的等待阻塞的时间是无限长的 ;
  • ③ 自动创建 Socket 对象 : 客户端连接到达后 , 服务器端会自动创建一个 Socket 对象 , 用于与客户端进行数据交互操作 ;
III Socket 数据交互

1. 写出数据 : 先获取 Socket 输出流 , 调用 write() 相关方法 , 将数据写出到 Socket 输出流中 ;

2. 读取数据 : 先获取 Socket 输入流 , 调用 read() 相关方法 , 将数据读取到 Socket 输入流中 ;

IV Socket 客户端操作流程

1. 客户端创建 Socket : 调用 Socket() 构造方法创建套接字, 此时创建的是空的套接字 ;

2. 绑定本地套接字 : 调用 Socket 对象的 bind() 方法将本地的 IP 地址和端口号绑定到上面创建的套接字上 ;

3. 连接远程客户端 : 调用 Socket 对象的 connect() 方法连接服务器端 , 连接失败直接抛出异常 , 连接成功就可以进行从 Socket 对象中获取输入输出流 , 与服务器端进行数据交互了 ;

V Socket 服务器端操作流程

1. 创建服务器套接字 : 调用 ServerSocket() 构造方法 , 创建 ServerSocket 对象 ;

2. 绑定 : ServerSocket 对象也需要绑定本地的 IP 地址和端口号 ;

3. 等待连接 : 调用 accept() 方法等待客户端连接到达 , 此时会阻塞线程 , 等待连接 ; 如果客户端连接到达 , 就可以与自动创建的 Socket 对象进行数据交互 ;

VI Socket 与 进程

1. 前提 : 应用的每个进程都可以创建一个或多个 Socket 连接 ;

2. 进程间通信 : 不同的进程绑定不同的端口号 , 可以通过 Socket 连接进行进程间通信 ;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
    • I Socket API 简介
      • II ServerSocket API 简介
        • III Socket 数据交互
          • IV Socket 客户端操作流程
            • V Socket 服务器端操作流程
              • VI Socket 与 进程
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档