文章目录

  • I Socket API 简介
  • II ServerSocket API 简介
  • III Socket 数据交互
  • IV Socket 客户端操作流程
  • V Socket 服务器端操作流程
  • VI Socket 与 进程

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 连接进行进程间通信 ;

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

  1. java socket ip_JAVA 网络编程 TCP/IP、Socket 和协议设计

    [JAVA 网络编程 TCP/IP.Socket 和协议设计] TCP/IP 协议简介 IP 首先我们看 IP(Internet Protocol)协议.IP 协议提供了主机和主机间的通信. 为了完成 ...

  2. Java网络编程 ---- TCP 网络通信编程

    视频:[零基础 快速学Java]韩顺平 零基础30天学会Java 文章目录 1. Socket 2. TCP 网络通信编程 3. 应用案例 1(使用字节流) 4. 应用案例 2(使用字节流) 5. 应 ...

  3. Java网络编程---TCP通信

    TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象,从而在通信两端形成网络虚拟链路,一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信 Java对基于TCP协议的 ...

  4. Java网络编程(一)Socket套接字

    一.基础知识 1.TCP:传输控制协议. 2.UDP:用户数据报协议. 二.IP地址封装 1.InetAddress类的常用方法 getLocalHost() 返回本地主机的InetAddress对象 ...

  5. java网络编程TCP传输—流操作—拿到源后的写入动作

    在网络编程中的TCP传输里,拿到Socket的源后,应该怎么进行读写操作呢,下面我列举了两种方法,希望大家帮忙补充···· 1.利用byte数组作为一个缓冲区进行读写 客户端上传 1 //获取sock ...

  6. java网络编程--TCP程序设计

    一,本章目标 了解Socket和ServerSocker类的作用 掌握ECHO程序开发 将多线程应用在TCP程序上实现多用户操作 二,具体内容 在java网络程序中,客户端只要符合连接的通讯协议,那么 ...

  7. java网络编程 TCP程序

    在java中,使用Socket完成TCP(传输控制协议)程序开发,使用此类可以方便地建立可靠的,双向的,持续的,点对点通信连接 服务端: ServerSocket    程序段:Socket Serv ...

  8. Java网络编程 - TCP通信

    文章目录 TCP通信 快速入门(一发一收) 编写客户端代码 编写服务器代码 多发多收 多发多收(同时接受多个客户端) 线程池优化 TCP通信 快速入门(一发一收) TCP协议回顾: TCP是一种面向连 ...

  9. 2.Java 网络编程TCP通讯例子 双向发送

    在上篇例子中,存在缺陷 只能允许Client给Server发消息,Server无法发消息给Client端 Client连接成功之后,Server就关闭了 这篇完善上篇的例子 TCP服务端 import ...

最新文章

  1. vue的指令绑定、事件、冒泡
  2. 只不过是R.java文件的特性-----出错信息:R.java was modified manually! Reverting to generated version!...
  3. nginx比较apache
  4. linux跨ip拷贝,Linux的虚拟机拷贝到另外的操作系统时,NAT方式的静态IP无效,一直是获取的DHCP动态地址...
  5. y电容如何选型_高压并联补偿电容器基础及运行管理
  6. python3 range函数_为什么python3中的xrange函数不能用
  7. ラブ・ストーリーは突然に(突然發生的愛情故事)歌詞
  8. 不等式解集怎么取_6.初中数学:一个不等式的解集,都是另一个不等式的解,求a的取值范围?...
  9. python飞机大战类_python微信飞机大战
  10. 计算机主板电源管理线路图,笔记本电源维修方法详解【图文教程】
  11. PDF转换成word转换器绿色版
  12. windows 错误代码2
  13. 官方指南:小米手机微信双开
  14. Blender简单建模
  15. 微信小程序生成二维码的示例代码
  16. 阿里P9:聊聊大厂晋升的“潜规则”
  17. 主流计算机硬盘接口是,主流固态硬盘接口有哪些?
  18. 河南的抗疫英雄,给出一系列抗疫英雄的姓名和来自的省份,现在请你帮忙统计来自河南的抗疫英雄有多
  19. Unity的gamma矫正、颜色空间及其转换的问题
  20. arduino使用oled代码_【教程】在ESP32上使用E32433T LoRa模块

热门文章

  1. 快递物流查询接口介绍
  2. 洛谷 P1550 浇水
  3. Rails5 Controller Document
  4. SC-控制Windows服务的命令
  5. (少儿教育) 数学-培训计划
  6. td 中连续数字或连续英文内容不自动换行
  7. IOS7笔记-6、控制器多态性、导航控制器、选项卡栏控制器
  8. java web 的标准目录结构(zz)
  9. DataSnap 用TStream 传递大数据 返回流大小为-1的情况
  10. UI基础篇-iOS中简单图片浏览器的实现