TCP通信原理
2022/4/16 23:13:55
本文主要是介绍TCP通信原理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
3.1 TCP通信原理
TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象,从而在通信的两端形成网络虚拟链路,一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信。
- 使用基于TCP协议的Socket网络编程实现,使用Socket对象来代表两端的通信端口
- TCP协议基于请求-响应模式,第一次主动发起的程序被称为客户端(Client)程序
- 第一次通讯中等待连接的程序被称为服务器端(Server)程序
- 利用IO流实现数据的传输
数据传输步骤
1、在服务端指定一个端口号来创建ServerSocket,并使用accept方法进行侦听,这将阻塞服务器线程,等待用户请求。
2、在客户端指定服务的主机IP和端口号来创建socket,并连接服务端ServerSocket,此时服务端accept方法被唤醒,同时返回一个和客户端通信的socket。
3、在客户端和服务端分别使用socket来获取网络通信输入/输出流,并按照一定的通信协议对socket进行读/写操作。
4、通信完成后,在客户端和服务端中分别关闭socket。此部分为引用,原文链接:https://blog.csdn.net/weixin_45851945/article/details/114263043
原理说明
1、服务器端
- 创建ServerSocket(int port)对象
- 在Socket上使用accept方法监听客户端的连接请求
- 阻塞、等待连接的建立
- 接收并处理请求信息
- 将处理结果返回给客户端
- 关闭流和Socket对象
2、客户端
- 创建Socket(String host, int port)对象
- 向服务器发送连接请求
- 向服务器发送服务请求
- 接受服务结果(服务响应)
- 关闭流和Socket对象
Java为客户端提供了Socket类,为服务器端提供了ServerSocket类
Socket类
常用构造器
构造方法 | 说明 |
---|---|
Socket(InetAddress address, int port) |
创建流套接字并将其连接到指定IP地址的指定端口号 |
Socket(String host, int port) |
创建流套接字并将其连接到指定主机上的指定端口号 |
常用方法
常用方法 | 说明 |
---|---|
OutputStream getOutputStream() |
返回此套接字的输出流 |
InputStream getInputStream() |
返回此套接字的输入流 |
void shutdownOutput() |
禁用此套接字的输出流 |
ServerSocket类
常用构造器
构造方法 | 说明 |
---|---|
ServerSocket(int port) |
创建绑定到指定端口的服务器套接字 |
常用方法
常用方法 | 说明 |
---|---|
Socket accept() |
侦听要连接到此套接字并接受它 |
这篇关于TCP通信原理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升