当前位置: 首页 > article >正文

Java_EE 网络编程(TCP与UDP通信)

传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793 定义。

TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。

发展历程:

TCP的正式定义由1981年9月的RFC793 给出。随着时间的推移,已经对其做了许多改进,各种错误和不一致的地方逐渐被修复。

为了让你感受到TCP的扩展历程,现在重要的RFC有:RFC793plus澄清了说明,RFC1122 修复了bug、RFC1323 做了高性能扩展,RFC2018 定义了选择性确认,RFC2581说明了拥塞控制、RFC2873定义了为服务质量而重用的头字段,RFC2988 改进了重传计时器,RFC3168 定义了显式拥塞通知。完整的协议集合很大,因而专门发布了一个针对许多RFC的指南,它就是作为另一个RFC文档公布的RFC4614 。

创建客户端

     

  

创建客户端:

常用方法:

DatagramSocket:用于发送或接收数据报包当服务器要向客户端发送数据时,需要在服务器端产生一个DatagramSocket对象,在客户端产生一个DatagramSocket对象。服务器端的DatagramSocket将DatagramPacket发送到网络上,然后被客户端的DatagramSocket接收。DatagramSocket有两种常用的构造函数。一种是无需任何参数的,常用于客户端;另一种需要指定端口,常用于服务器端。如下所示:1DatagramSocket():构造数据报套接字并将其绑定到本地主机上任何可用的端口。2DatagramSocket(int port):创建数据报套接字并将其绑定到本地主机上的指定端口。

UDP通信编程基本步骤:1创建客户端的DatagramSocket,创建时,定义客户端的监听端口。

2创建服务器端的DatagramSocket,创建时,定义服务器端的监听端口。3在服务器端定义DatagramPacket对象,封装待发送的数据包。4客户端将数据报包发送出去。5服务器端接收数据报包。

    本章总结端口是虚拟的概念,并不是说在主机上真的有若干个端口。在www上,每一信息资源都有统一且唯一的地址,该地址就叫URL(Uniform Resource Locator),它是www的统一资源定位符。TCP与UDP的区别TCP是面向连接的,传输数据安全,稳定,效率相对较低。UDP是面向无连接的,传输数据不安全,效率较高。Socket通信是一种基于TCP协议,建立稳定连接的点对点的通信。网络编程是由java.net包来提供网络功能。InetAddress:封装计算机的IP地址和DNS(没有端口信息!)。InetSocketAddress:包含IP和端口,常用于Socket通信。URL:以使用它的各种方法来对URL对象进行分割、合并等处理。基于TCP协议的Socket编程和通信“请求-响应”模式:Socket类:发送TCP消息。ServerSocket类:创建服务器。UDP通讯的实现DatagramSocket:用于发送或接收数据报包。常用方法:send()、receive()、close()。DatagramPacket:数据容器(封包)的作用常用方法:构造方法、getAddrress(获取发送或


http://www.kler.cn/news/357981.html

相关文章:

  • 类与对象(三)
  • 2024-10-16 学习人工智能的Day8
  • 【设计模式】深入理解Python中的适配器模式(Adapter Pattern)
  • Spring Boot中使用FlexyPool动态监控管理数据库连接池
  • 自己用react开发了一张Es6的学习页面(持续更新系列)
  • 【计算机网络 - 基础问题】每日 3 题(四十七)
  • AI核身-金融场景凭证篡改检测YOLO原理
  • Redux (八) 路由React-router、嵌套路由、路由传参、路由懒加载
  • 【4.9】图搜索算法-BFS解打开转盘锁
  • 屏蔽小米电视广告的方法
  • 数据结构-复杂度
  • C语言导航 3.1运算符与表达式
  • 市场上几个跨平台开发框架?
  • 【含开题报告+文档+PPT+源码】基于SSM的景行天下旅游网站的设计与实现
  • C语言初阶小练习3(扫雷小游戏的代码实现及解读)
  • HCIE-Datacom题库_07_安全【11道题】
  • 解决DOTA-v2.0数据集上传结果至官网BUG: No space left on device
  • 性能工具之JMeter 通过Java API生成 BeanShell PreProcessor 脚本
  • Git客户端使用之命令行
  • 多表关联查询,join on 条件不生效,无法筛选记录