TCP传输协议使用

TCP传输协议,也称之为套接字连接,比较安全,三次握手!,必须确保对方计算机存在,才能连接,而且是长时间连接。

缺点是传输速度有点慢。

你用 socket 去连接 ServiceSocaket 服务器端,ServiceSocaket 会创建一个,Sockets 然后你的Socket ,连接服务器端创建的Socket 最后你的Socket 和 服务器端的 Socket 都会创建一个 OutputStrea 和InputStream 流用来传输数据。

如下图:

ServerSocket :

服务端,如果Socket是从ServerSocket拿到的,那就是服务器连接端 。

ServerSocket ser=new ServerSocket(8080);
//建立好一个服务端,端口号为8080如果8080端口被占用了会报错,

端口占用错误。

Socket sock=ser.accept();
/* 监听客户端连接,监听8080端口,如果有客户端来连接他就会自动创建一个,Socket 然后客户端的Socket 和服务端的 Socket 会创建 输出和输入流,用来传输数据。
*/
InputStream input=ser.getInputStream();
OutputStream out=ser.getOutputStream();
// 获得输出和输入流。
out.flush(); // 这个方法是催系统赶紧把数据发送过去。

Socket:

用户端,自己创建的Socket,那你就是客户端。

Socket sock=new Socket( “ip” , 端口 );
// 创建用户端,指定好你要连接的服务器ip 和端口。

InpoutStream input=sock.getInputStream();
OutputStream out=sock.getOutputStream();
// 获得用户端的输出和输入流 ,用来传输数据。

out.flush(); // 这个方法是催系统赶紧把数据发送过去。

下图是用户端链接客服端的图解:

如下图 用户和服务器的数据传输:

InetAdderss ip=InetAddress.getLocalHost();

ip.getHostAddress(); // 获得本地ipv4的IP地址。

InetAddress ip=InetAddress.getByName(“www.kaige123.com”);
ip.getHostAddress(); // 获得kaige123 网址的ipv4的IP地址。 //使用DNS接续出来的。

时间: 2024-10-24 02:11:04

TCP传输协议使用的相关文章

TCP传输协议

1.TCP中一些名词解释 (1)MSS(maximum segment size) TCP的最大报文段大小,在TCP报文段中有一个16位的部分用于放置该值,因此最大为65535,可以利用setsockopt() 和getsockopt设置和获取TCP_MAXSEG来影响MSS: (2)MSL(maximum segment lifetime) IP报文段能在网络中存在的最长时间,这个是系统级的参数,没有接口修改,windows上可以通过注册表修改,通常为2分钟,最低为30秒,linux上面没法修

TCP传输协议中如何解决丢包问题

TCP在不可靠的网络上实现可靠的传输,必然会有丢包.TCP是一个"流"协议,一个详细的包将会被TCP拆分为好几个包上传,也是将会把小的封裝成大的上传,这就是说TCP粘包和拆包难题. 但是许多人有不同的理解.TCP协议本身确保传输的数据不会丢失完整性.如果在传输过程中发现数据丢失或数据包丢失,最大的可能性是在发送或接收程序的过程中出现问题. 例如,服务器向客户端发送大量数据,并且发送频率非常高,因此发送链接中很可能会出现错误(1.程序处理逻辑错误:2.多线程同步问题:3.缓冲区溢出等)如

TCP传输协议如何进行流量控制?

TCP流量控制,简单来说就是让数据传输端传输的速率不要太快,让数据接收端来得及接收,利用滑动窗口机制可以很方便的在TCP连接上实现对数据传输端的流量控制.TCP的窗口单位是字节,不是报文段,数据传输端的发送窗口不能超过接收端给出的接收窗口的数值,流量控制的机制是控制丢包率,主要目的:让数据传输端了解数据接收端当前的接收能力,可灵活调整传输速率.流量控制机制图如下图所示: 滑动窗口: TCP采用大小可变的滑动窗口进行流量控制,窗口大小的单位是字节. 数据传输窗口在连接建立时由双方商定.但在通信的过

java中TCP传输协议

class TcpClient { public static void main(String[] args) throws Exception { //创建客户端的socket服务,指定目的主机和端口 Socket s = new Socket("192.168.1.10",10003); //为了发送数据,获取socket流中的输出流 java.io.OutputStream out = s.getOutputStream(); out.write("hello tcp

Rsyslog的三种传输协议简要介绍

rsyslog的三种传输协议 rsyslog 可以理解为多线程增强版的syslog. rsyslog提供了三种远程传输协议,分别是: 1. UDP 传输协议 基于传统UDP协议进行远程日志传输,也是传统syslog使用的传输协议: 可靠性比较低,但性能损耗最少, 在网络情况比较差, 或者接收服务器压力比较高情况下,可能存在丢日志情况. 在对日志完整性要求不是很高,在可靠的局域网环境下可以使用. 2.TCP 传输协议 基于传统TCP协议明文传输,需要回传进行确认,可靠性比较高: 但在接收服务器宕机

TCP/IP协议与HTTP协议区别SOCKET接口详解

网络由下往上分为:      物理层--                       数据链路层-- 网络层--                       IP协议 传输层--                       TCP协议 会话层-- 表示层和应用层--           HTTP协议   socket则是对TCP/IP协议的封装和应用(程序员层面上).也可以说,TPC/IP协议是传输层协议,主要解决数据 如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据.关于TCP/

学习笔记之TCP/IP协议的传输方式

一.通过网络发送数据,大致可以分为面向有连接与面向无连接两种类型: 1.面向无连接型包括以太网. IP.UDP等协议. 2. 面向有连接 型包括ATM.帧中继.TCP等 协议. 通过一张图了解一下: 面向有连接型 面向有连接型中,在发送数据之前,需要在收发主机之间连接一条通信线路 面向有连接型就好比人们平常打电话,输入完对方电话号码拨出之后,只有 对端拿起电话才能真正通话,通话结束后将电话机扣上就如同切断电源.因此在 面向有连接的方式下,必须在通信传输前后,专门进行建立和断开连接的处理.如果与对

传输层TCP/UDP协议

可靠的TCP协议(传输层) 1)  TCP封包结构如下图: 各字段的含义为: 封包序号:记录每个封包的序号,当TCP封包大于IP封包的长度时,TCP封包就需要拆分成更小的包,来下发给网络层,通过该字段可以让接收端重新将TCP数据组合起来. 回应序号:回传给客户端的响应码,当客户端收到这个确认码时,就能够确定之前传递的封包已经被正确的收下了. 资料补偿:由于Options字段是任意的,为了确认整个封包的大小,就用这个字段来说明整个封包区段的起始位置. 保留:保留字段,还未被使用. 控制标志码:用来

对TCP/IP协议的一些看法(7):传输层

这几天由于实验室断网,所以一直不能发随笔,但是好习惯还是要坚持. 今天讲一下一个重要的层——传输层.传输层的协议主要分为TCP协议和UDP协议.前者称为传输控制协议,后者为数据包传输协议.今天主要讲一下传输层的概述,之后会对TCP协议和UDP协议进行详细介绍. 我们知道,数据包如果在IP层传输,其传输的可靠性不能保证,这就会造成重要数据的丢弃.这显然是不被允许的.因此只能依靠传输层的TCP协议来保证数据传输的可靠性,这也正是TCP的一个主要特征,即能够保证数据完整到达接收方.为什么这么说呢?因为