基于java的UDP编程.pptVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于java的UDP编程

基于java的UDP编程 UDP与TCP的差别 (TCP)传输控制协议,是一种提供可靠数据传输的通用协议。 (UDP)用户数据报协议,是一个面向无连接的协议。采用该协议不需要两个应用程序先建立连接。UDP协议不提供差错恢复,不能提供数据重传,因此该协议传输数据安全性差。 这些协议,是自己编程时规定的, 是你自己选择的!!!你看是数据完整性重要还是实时性重要。 一般文件传输都有TCP, 一般的直播视频为UDP。 在选择使用协议的时候,选择UDP必须要谨慎。在网络质量令人不十分满意的环境下,UDP协议数据包丢失会比较严重。但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。 UDP概述 UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能 UDP在发送数据之前不需要连接。 UDP 的主机不需要维持复杂的连接状态表。 UDP 用户数据报只有8个字节的首部开销。 端口是用报文队列来实现 UDP 端口 51000 UDP 端口 69 ? ? 出队列 入队列 出队列 入队列 服务器 客户 UDP 用户数据报 应 用 层 运 输 层 SOCKET概念 SOCKET(套接字/管套/插口):标识连接的端点,IP地址 + 端口号 。 应用程序与网络之间的接口 应用程序创建socket socket 类型 决定了通信的类型 可靠的 vs. 尽最大努力的 面向连接的 vs. 无连接的 一旦socket配置完成,应用程序就可以 把数据传给socket,从而进行网络传输 从socket接收数据(其他主机通过网络发送过来的) Socket在协议栈中的位置 Application Transport Network (Internet) Data-link (Host-to-Network) Sockets API TCP UDP My Program IP Socket到Socket的通信 My Program socket ports TCP/UDP IP Your Program socket ports TCP/UDP IP UDP Client-Server交互流程 socket() recvfrom() sendto() UDP Server socket() UDP Client sendto() recvfrom() closesocket() 等待,直到从client 接收到数据报 数据请求 数据响应 Java UDP编程知识 DatagramSocket:UDP Socket DatagramSocket(int port); receive(DatagramPacket p); send(DatagramPacket p); DatagramPacket: UDP数据报 DatagramPacket(byte[] , int); DatagramPacket(byte[],int,Socket Address); UDP操作-1 UDP server必须创建一个datagram socket DatagramSocket socket = null; socket = new DatagramSocket(PORT); UDP server必须创建接受数据报 DatagramPacket inPacket = new DatagramPacket(inBuff , inBuff.length); UDP server创建发送数据报 DatagramPacket outPacket; outPacket = DatagramPacket(inBuff , inBuff.length, SocketAddress); UDP操作-2 接受数据包 socket.receive(inPacket);数据其实就放在buffer里面 发送数据报 socket.send(outPacket); 处理数据 实验 目地:实现一个简单的字符串传输的通信小程序 要求: 1.实现客户端和服务端,即所谓的C/S模式 2.发送的字符串通过手工在控制台进行输入 3.即服务端可以同时支持多个客户端,采用多

文档评论(0)

整理王 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档