博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TCP
阅读量:5085 次
发布时间:2019-06-13

本文共 1364 字,大约阅读时间需要 4 分钟。

java.net.Socket

封装了TCP协议,使用它就可以基于TCP协议进行网络通讯
socket是运行在客户端的

构造 方法,用来初始化客户端

实例化Socket的时候需要传入两个参数:
1;服务端地址:通过IP地址可以找到服务的那台计算机
2:服务端端口:通过端口可以找到服务端计算机上的服务端应用程序

实例化Socket的过程就是连接的过程,若远端计算机没有响应会跑出异常。

运行在服务端的ServerSocket主要负责:

1:向系统申请服务端口
客户端就是通过这个端口与之连接的
2:监听申请的服务端口,当一个客户端通过该端口尝试建立连接时,serversocket
会在服务端创建一个socket与客户端建立连接;

* Serversocket的accept方法是一个阻塞方法,作用是监听服务端口,直到一个客户端连接并创建一个Socket,
使用该Socket即可与刚连接的客户端进行交互
* 可以通过Socket的getOutputStream()
* 方法获取一条输出流,用于将信息发送 至远端计算机
Socket 提供方法
InputStream getInputStream()
该方法可以让服务端获取一个输入流,从该流读取的数据
就是从远端计算机发送过来的;
* br.readLine 在读取客户端发过来的消失时,由于客户端断线,
* 操作系统不同,这里读取的结果不同:
* 当Windows的客户端断开时:br.readLine会抛出异常
* 当Linux的客户端断开时:br.readLine会返回null
通过Socket可以获取远端计算机地址信息;

 

UDP通讯协议的特点:
1. 将数据极封装为数据包,面向无连接。
2. 每个数据包大小限制在64K中
3.因为无连接,所以不可靠
4. 因为不需要建立连接,所以速度快
5.udp 通讯是不分服务端与客户端的,只分发送端与接收端。

sTCP的特点如下:

TCP通讯协议特点:

1. tcp是基于IO流进行数据 的传输 的,面向连接。
2. tcp进行数据传输的时候是没有大小限制的。
3. tcp是面向连接,通过三次握手的机制保证数据的完整性。 可靠协议。
4. tcp是面向连接的,所以速度慢。
5. tcp是区分客户端与服务端 的。

顺便附上我们在利用JAVA写两个协议的过程:

UDP:

发送端的使用步骤:

1. 建立udp的服务。
2. 准备数据,把数据封装到数据包中发送。 发送端的数据包要带上ip地址与端口号。
3. 调用udp的服务,发送数据。
4. 关闭资源。

接收端的使用步骤:

1. 建立udp的服务
2. 准备空 的数据 包接收数据。
3. 调用udp的服务接收数据。
4. 关闭资源

TCP:

tcp的客户端使用步骤:

1. 建立tcp的客户端服务。
2. 获取到对应的流对象。
3.写出或读取数据
4. 关闭资源。

ServerSocket的使用 步骤:

1. 建立tcp服务端 的服务。
2. 接受客户端的连接产生一个Socket.
3. 获取对应的流对象读取或者写出数据。
4. 关闭资源。

成为最强悍的自己

转载于:https://www.cnblogs.com/Bighua123/p/7567104.html

你可能感兴趣的文章
Jenkins的介绍
查看>>
数论中的分块思想
查看>>
14. Longest Common Prefix
查看>>
js 类对象
查看>>
函数可变参传值(python)
查看>>
单双击响应事件处理区分
查看>>
nio通道
查看>>
ORA-12154: TNS: 无法解析指定的连接标识符
查看>>
Java IO模型
查看>>
【2018.11.23】2018WCTest(7)
查看>>
Tomcat中catalina.bat详解
查看>>
Python的hasattr() getattr() setattr() 函数使用方法详解
查看>>
Java注解简单学习
查看>>
ZooKeeper系列3:ZooKeeper命令、命令行工具及简单操作
查看>>
VMware exsi 虚拟化嵌套
查看>>
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
查看>>
div模态层示例
查看>>
转:ASP.NET发布WebService操作流程
查看>>
.NET短信接口 实例
查看>>
Visual Studio 常用快捷键
查看>>