`

DatagramSocket的使用方法

    博客分类:
  • Java
 
阅读更多

18.5 UDP数据报通信

用户数据报协议(UDP)是一种无连接的客户/服务器通信协议。它不保证数据报会被对方完全接收,也不保证它们抵达的顺序与发出时一样,但它的速度比TCP/IP协议要快得多。所以,对于某些不需要保证数据完整准确的场合,或是数据量很大的场合(比如声音、视频)等,通常采用UDP通信。另外在局域网中,数据丢失的可能性很小,也常采用UDP通信。

UDP通信中,需要建立一个DatagramSocket,与Socket不同,它不存在"连接"的概念,取而代之的是一个数据报包--DatagramPacket。这个数据报包必须知道自己来自何处,以及打算去哪里。所以本身必须包含IP地址、端口号和数据内容。

18.5.1 DatagramSocket的使用方法

DatagramSocket可以用来创建收、发数据报的socket对象。如果用它来接收数据,应该用下面这个创建方法:

public DatagramSocket(int port) throws SocketException

其中,参数port指定接收时的端口。

如果用来发送数据,应该用这个:

public DatagramSocket() throws SocketException

所有的端口、目的地址和数据,需要由DatagramPacket来指定。

接收数据时,可以使用它的receive(DatagramPacket data)方法。获取的数据报将存放在data中。发送数据时,可以使用它的send(DatagramPacket data)方法。发送的端口、目的地址和数据都在data中。

 

分享到:
评论

相关推荐

    Java DataGramSocket的Connect方法问题

    关于Java DataGramSocket类中Connect方法的解惑。

    java 简单的UDP聊天程序

    简单的UDP聊天程序,服务器端:创建DatagramSocket对象用于打开指定端口并监听,然后用创建一个DatagramPacket,利用DatagramSocket中的receive(ds)方法接收数据并放到刚创建的DatagramPacket对象中; 这样就完成...

    基于Java实现de UDP数据传输,双向传输,接收端和发送端,服务器

    客户端:创建DatagramSocket对象,创建好IP地址和端口号后,利用DatagramSocket中的connect(ip,port)方法和服务端建立连接,然后利用DatagramSocket中的send(dp)方法发送早已准备好的数据。

    六种Android网络通信方法详细实例代码

    网络通信的六种方式示例源代码,分别对针对TCP/IP Socket、ServerSocket、UDP的DatagramSocket、DatagramPackage、直接URL的HttpURLConnection、集成了Apache HTTP客户端,可使用HTTP进行网络编程、使用Web Service...

    java试卷及答案

    11 针对网络通信的不同层次 Java提供的网络功能有四大类:InetAddress URL Socket DatagramSocket ">1 Java程序源代码须先通过 编译器 产生Java虚拟机器的机器码 bytecode 再经过解释器将其转成实际使用的机器和...

    Java开发技术大全 电子版

    3.6.1无参数构造方法的定义和使用129 3.6.2带参数构造方法的定义和使用131 3.6.3this关键字和构造方法的调用132 3.7静态方法133 3.7.1静态方法的声明和定义134 3.7.2静态方法和实例方法的区别134 3.7.3静态...

    疯狂JAVA讲义

    4.4.3 使用return结束方法 87 4.5 数组类型 87 4.5.1 理解数组:数组也是一种类型 88 学生提问:int[]是一种类型吗?怎么使用这种类型呢? 88 4.5.2 定义数组 88 4.5.3 数组的初始化 89 学生提问:能不能只...

    java网络编程任务书

    介绍使用java Socket创建客户端Socket的过程。 (2) 介绍使用java ServerSocket创建服务器端ServerSocket的过程。 (3) 对于建立功能齐全的Socket,其工作过程包含哪些步骤?...(4) 写出DatagramSocket的常用构造方法。

    基于Java实现 PING 的服务器端和客户端

    设计服务器 PingServer 程序和客户端 PingClient 程序,使用 Java 网络编程中提供的 DatagramSocket,DatagramPacket,InetAddress 类及其内置方法实现服务器和客户端之间的 UDP 通信及数据报相关内容的显示,同时在...

    基于JAVA的ICQ系统的设计于实现

    在java中使用套接口相当简单,Java API为处理套接口的通信提供了一个类java.net.Socket.,使得编写网络应用程序相对容易.服务器采用多线程以满足多用户的请求,通过JDBC与后台数据库连接,并通过创建一个...

    Java高级程序设计测试含答案.docx

    提供有参构造方法记性注入(正确答案) 在程序读入字符文字时,推荐使用以下哪个流() [单选题] * A.FileReader(正确答案) B.FileWriter C.FileInputStream D.ObjectInputStream Java高级程序设计测试含答案全文...

    基于JAVA的ICQ系统

    在java中使用套接口相当简单,Java API为处理套接口的通信提供了一个类java.net.Socket.,使得编写网络应用程序相对容易.服务器采用多线程以满足多用户的请求,通过JDBC与后台数据库连接,并通过创建一个...

    JAVA写的ICQ系统源代码

    在java中使用套接口相当简单,Java API为处理套接口的通信提供了一个类 java.net.Socket.,使得编写网络应用程序相对容易.服务器采用多线程以满足多用户的请求,通过JDBC与后台数据库连接,并通过创建一个 ...

    UDP协议(用户数据报协议)是无连接的、不可靠的、无序的(传输顺序不固定)1

    DatagramSocket类,端到端通信的类DatagramPacket类构造方法: 1、DatagramPacket(byte[] buf,int leng

    UDP-Socket-Programming-in-JAVA:ENTS 640项目

    该应用程序使用 Java 的 UDP 套接字(类 DatagramPacket 和 DatagramSocket 及其方法)并通过实现数据传输协议在 UDP 的不可靠通信服务之上提供必要的可靠数据传输功能。 数据传输是单向的,数据字节从发送器流向...

    Java网络编程(第三版)中文版.part11.rar

    DatagramSocket类 442 一些有用的应用程序 456 DatagramChannel 469 第十四章 组播socket 478 何为组播socket? 479 使用组播socket 487 两个简单示例 495 第十五章 URLConnection 501 打开URLConnection ...

    Java网络编程(第三版)高清中文版.part01.rar

    DatagramSocket类 442 一些有用的应用程序 456 DatagramChannel 469 第十四章 组播socket 478 何为组播socket? 479 使用组播socket 487 两个简单示例 495 第十五章 URLConnection 501 打开URLConnection ...

    Java网络编程(第三版)中文版.part06.rar

    DatagramSocket类 442 一些有用的应用程序 456 DatagramChannel 469 第十四章 组播socket 478 何为组播socket? 479 使用组播socket 487 两个简单示例 495 第十五章 URLConnection 501 打开URLConnection ...

Global site tag (gtag.js) - Google Analytics