# 实现TCP的Java
## 1. 流程图
```mermaid
sequenceDiagram
小白->>你: 请求学习TCP的Java
你-->>小白: 确认学习意愿
小白->>你: 学习TCP的Java
Note right of 你: 教学过程
```
## 2. 步骤及代码示例
### 步骤一:创建ServerSocket
```java
//
(1)TCP(传输控制协议):Transmission Control Protocol ,是一种面向连接的、可靠的、基于字节流的传输层通信协议。
(2)UDP(用户数据报协议):User Datagram Protocol,用于处理数据包,是一种无连接的、不可靠的通信协议。
转载
2023-07-19 08:25:36
148阅读
1、TCP通信协议概述TCP通信能实现两台计算机之间的数据交互,通信的两端,要严格区分为客户端(Client)与服务器端(Server)。两端通信时步骤:服务端程序,需要事先启动,等待客户端的连接。客户端主动连接服务器端,连接成功才能通信,服务端不可以主动连接客户端。在java中,提供了两个类用于实现TCP通信程序:客户端:java.net.socket类表示。创建Socket对象,向服务端发出连
转载
2023-06-02 19:29:15
140阅读
最近碰到了这样的需求:用户通过TCP访问服务器 A,服务器 A 再把 TCP 请求转发给服务器 B;同时服务器 A 把服务器 B 返回的数据,转发给用户。也就是服务器 A 作为中转站,在用户和服务器 B 之间转发数据。示意图如下:为了满足这个需求,我用Java开发了程序。我为了备忘,把代码简化了一下,剔除了实际项目中的业务代码,给了一个简单的例子。这个例子项目名字是 blog119,用 maven
转载
2023-09-07 08:35:29
30阅读
TCP是一种面向连接的、可靠的,基于字节流的传输层通信协议。为两台主机提供高可靠性的数据通信服务。它可以将源主机的数据无差错地传输到目标主机。当有数据要发送时,对应用进程送来的数据进行分片,以适合于在网络层中传输;当接收到网络层传来的分组时,它要对收到的分组进行确认,还要对丢失的分组设置超时重发等。为此TCP需要增加额外的许多开销,以便在数据传输过程中进行一些必要的控制,确保数据的可靠传输。因此,
转载
2023-07-09 19:21:12
44阅读
通过练习掌握TCP在进行传输过程中的问题练习1:创建一个英文大写转换serverclient输入字母数据,发送给服务端,服务端收到后显示到控制台,并将该数据转成大写返回client,知道client输入over,转换结束public class Main {
public static void main(String[] args) throws IOException{
Text_T
TCP传输(传输控制协议):TCP协议是一种面向连接的,可靠的字节流服务。当客户端和服务器端彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能进行数据的传输。它将一台主机发出的字节流无差错的发送到互联网的其它主机。在发送端负责把上层传下来的字节流分成报文段传递给下层。在接收端负责把报文重组后交给上层。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
TCP Socket通信是一种比较常用的基于连接的网络通信方式。本文通过Java实现TCP Socket通信,并将其用于计算机端,Android手机端,硬件设备端,同时做到代码规范化,实现代码最大化复用。| 本文代码可在GitHub下载,建议对照源码阅读文章 https://github.com/IVanMissAya/tcp_serverTCP连接的建立客户端和服务器间通过 三次握手 建立TCP
转载
2023-06-25 22:48:18
139阅读
一. 计算机网络介绍1. 计算机网络介绍:是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。2. 计算机网络分类:虽然网络类型的划分标准各种各样,但从地理位置划分是一种大家都认可的网络划分标准,按这种标准可以把网络类型分为局域网,城域网,广域网三
1.TCP Socket在Java上的实现Java 为 TCP 协议提供了两个类:Socket 类和 ServerSocket 类。一个 Socket 实例代表了TCP 连接的一端。一个 TCP 连接(TCP connection)是一条抽象的双向信道,两端分别由 IP地址和端口号确定。在开始通信之前,要建立一个 TCP 连接,这需要先由客户端 TCP 向服务器端 TCP 发送连接请求。Serve
转载
2023-06-07 16:16:26
84阅读
一、首部字段总览TCP首部包括20字节的固定首部部分及长度可变的其他选项,所以TCP首部长度可变。20个字节又分为5部分,每部分4个字节32位,如图中的5行,每行表示32位。在传输层,TCP报文段包括:TCP首部和TCP数据部分;在网络层,TCP报文段成为IP数据部分,加上IP首部组成IP数据报;在数据链路层,还要在IP数据报前面加上数据链路层的首部。二、概述1、端口 源端口和目的端口字段:各占
服务端,运行时要先启动package net.tcp;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;public class ServerDemo { public static void main(String
原创
2023-05-18 11:27:16
63阅读
# Java TCP的粘包问题及解决方法
## 引言
在进行网络编程时,很常见的一个问题就是TCP的粘包问题。TCP是面向流的协议,发送方往往会将数据流分成多个TCP包进行发送,接收方则可能一次性接收到多个TCP包,这就导致了接收方可能无法正确地解析这些TCP包,从而产生粘包问题。
本文将介绍TCP的粘包问题及解决方法,以帮助刚入行的开发者理解并解决这个问题。
## TCP粘包问题的流程
原创
2023-09-18 04:08:46
29阅读
在解释TCP编程之前,我们先引入两个重要类:InetAddress和Socket一、InetAddress类与一般的Java类不同的是,InetAddress类没有构造方法,所以不能直接new出一个对象。一般我们都是通过InetAddress类的静态方法获得InetAddress的对象。最常用的主要有一下几个方法:1、getLocalHost( )获取本机InetAddress对象。对象中包含主机
转载
2023-07-10 21:33:10
36阅读
近来项目不急,就想学习哈JAVA的TCP编程。接下来我们直入主题。大家一听到TCP编程,是不是就有疑问,什么是TCP???其实TCP的解释就是:TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用
转载
2023-07-18 06:51:35
77阅读
文章目录一、基本概念二、Socket 类三、ServerSocket 类 一、基本概念TCP通信能实现两台计算机之间的数据交互,通信的两端,要严格区分为客户端(Client)与服务端(Server)。两端通信时步骤:(1)服务端程序,需要事先启动,等待客户端的连接。
(2)客户端主动连接服务器端,连接成功才能通信。服务端不可以主动连接客户端。服务器使用客户端的流和客户端交互在Java中,提供了两
转载
2023-08-29 23:54:01
118阅读
1.什么是TCP协议? TCP---传输控制协议【有连接的协议】 优点:保证数据安全可靠 缺点:消耗大,效率低2.TCP协议三次握手TCP协议在通信的时候,要求通信的双方先建立起连接(面向有连接的协议)。在建立连接的过程中需要经过三次握手才能完成连接的建立。 第一次握手:Client将标志位SYN置为1,随机产生一
转载
2023-06-26 21:37:03
63阅读
在TCP Socket编程中,客户端有多个,而服务器端只有一个,由客户端TCP向服务器端TCP发送连接请求,服务器端的ServerSocket实例则监听来自客户端的TCP连接请求,并为每个请求创建新的Socket实例 由于服务端在调用accept()等待客户端的连接请求时会阻塞,直到收到客户端发送的连接请求才会继续往下执行代码,因此要为每个Socket连接开启一个线程。服务器端要同时处理Serv
TCP和UDP的区别?相同点:
UDP协议和TCP协议都是传输层协议。不同点:
1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接.
2. TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;
UDP尽最大努力交付,即不保证可靠交付
3. TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面
1、TCP通信原理 TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Scoket对象,从而在通信两端形成网络虚拟链路,一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信 Java对基本TCP协议的网络提供了良好的封装,使用Socket对象来代表两端的通信端口,并通过Socket产生IO流来进行网络通信。2.TCP发送数据 1、创建客户端的Socket对象(Socke
转载
2023-05-25 15:04:43
197阅读