`
java2000.net
  • 浏览: 660439 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

使用DatagramSocket发送和读取数据

阅读更多
  1. package net.java2000.net;
  2. import java.io.IOException;
  3. import java.net.DatagramPacket;
  4. import java.net.DatagramSocket;
  5. import java.net.InetAddress;
  6. import java.net.SocketException;
  7. /**
  8.  * 使用DatagramPacket和DatagramSocket发送和读取数据。
  9.  * 
  10.  * @author 赵学庆,Java世纪网(java2000.net)
  11.  * 
  12.  */
  13. public class DatagramPacketReceiver {
  14.   public static void main(String[] args) {
  15.     try {
  16.       new DatagramPacketReceiver.DatagramPacketSender().start();
  17.       byte[] inbuf = new byte[256]; // 默认的数据缓冲大小
  18.       DatagramSocket socket = new DatagramSocket(8888);
  19.       // 等待数据
  20.       DatagramPacket packet = new DatagramPacket(inbuf, inbuf.length);
  21.       socket.receive(packet);
  22.       int numBytesReceived = packet.getLength();
  23.       System.out.println(new String(inbuf, 0, numBytesReceived, "UTF-8"));
  24.     } catch (SocketException e) {
  25.       e.printStackTrace();
  26.     } catch (IOException e) {
  27.       e.printStackTrace();
  28.     }
  29.   }
  30.   static class DatagramPacketSender extends Thread {
  31.     public void run() {
  32.       try {
  33.         Thread.sleep(1000); // 休眠1秒,等待接收服务启动
  34.         InetAddress ia = InetAddress.getByName("127.0.0.1");
  35.         byte[] bs = "JAVA世纪网,java2000.net".getBytes("UTF-8");
  36.         DatagramPacket request = new DatagramPacket(bs, bs.length, ia, 8888);
  37.         DatagramSocket socket = new DatagramSocket();
  38.         socket.send(request);
  39.       } catch (Exception e) {
  40.         e.printStackTrace();
  41.       }
  42.     }
  43.   }
  44. }


运行结果
JAVA世纪网,java2000.net


原文:http://www.java2000.net/p9152













<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>
分享到:
评论

相关推荐

    java DatagramSocket 的上传文件客户端

    在“java DatagramSocket 的上传文件客户端”中,开发者使用`DatagramSocket`创建一个可以发送和接收UDP数据报的套接字。这个客户端可能实现了TFTP(Trivial File Transfer Protocol)服务,TFTP是一个简单的小型...

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

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

    DatagramSocket And DatagramPacket

    `DatagramSocket`类代表一个UDP套接字,它提供了发送和接收数据报的能力。创建`DatagramSocket`时,可以选择指定本地端口号,如果不指定,则系统会自动分配一个可用的端口。`DatagramSocket`的主要方法包括: 1. `...

    如何利用Java实现QQ文件传输功能.pdf

    2. 需要使用DatagramSocket对象来发送和接收数据报包,因为DatagramSocket对象可以提供可靠的数据传输功能。 3. 需要使用文件输入流来读取磁盘文件,并将其封装到数据报包中。 4. 需要使用ActionListener来响应用户...

    Java网络编程精解PPT课件.ppt

    在Java中,java.util.DatagramSocket负责接收和发送UDP数据报,每个DatagramSocket与一个本地地址(包括本地主机的IP地址和本地UDP端口)绑定。DatagramSocket可以把UDP数据报发送给任意一个远程DatagramSocket,也...

    TCP与UDP客户服务端实现大小写及SOCKET编程实现聊天程序

    * 使用BufferedReader和DataOutputStream来读取和发送数据 * 使用DatagramPacket来实现UDP数据传输 * 使用ServerSocket和Socket来实现TCP客户服务端 * 使用多线程来处理多个客户端的连接请求 * 使用HashMap来存储...

    java简单聊天发送文件

    发送文件时,同样可以将文件拆分为数据块,封装成DatagramPacket,然后通过DatagramSocket发送。服务器端也需要创建DatagramSocket来监听特定端口,接收到数据报后解包获取文件内容。 在实现“java简单聊天发送文件...

    android studio UDP

    在Android平台上,我们可以使用java.net.Socket和java.net.DatagramSocket类来操作UDP协议。 首先,创建一个新的Android项目,打开Android Studio,选择“New Project”,并选定"Empty Activity"模板。在项目的`app...

    UDP打包数据包发送服务

    在Java中,我们使用`java.net.DatagramSocket`类来创建UDP套接字,它用于发送和接收UDP数据包。要发送数据,我们需要实例化`DatagramPacket`对象,该对象封装了我们要发送的数据以及目标IP地址和端口号。 ```java ...

    测试JMF发送和接受RTP流,纯java编写

    3. **网络编程**:如何通过Java的Socket或DatagramSocket实现RTP数据包的发送和接收。 4. **媒体编码与解码**:JMF支持多种媒体格式,需要了解如何选择合适的编码器和解码器,以确保数据能在发送和接收端正确处理。...

    自己做的UDP客户端和服务器端

    总结,Java实现的UDP客户端和服务器端涉及到的关键知识点有:UDP协议的理解,`DatagramSocket`和`DatagramPacket`类的使用,以及如何进行数据的发送和接收。实际编程中,还需要注意网络通信的同步异步问题,以及可能...

    UDP 发送文件

    在Java中,我们可以使用`java.net.DatagramSocket`类来创建一个UDP套接字,进行数据的发送和接收。发送文件时,通常需要将文件内容拆分成多个小的数据包,然后逐个通过`DatagramPacket`发送出去。接收到端则需要按照...

    JAVA 实现TCP和UDP的DEMO源码

    4. 创建`DatagramPacket`用于接收数据,然后使用`receive()`方法读取数据。 5. 完成后关闭`DatagramSocket`。 UDP服务器端(称为数据报服务器)的实现: 1. 创建`DatagramSocket`对象,监听特定端口。 2. 创建`...

    指令传输接收(协议解析)

    发送数据时,先创建DatagramPacket,设置数据和目标地址,然后通过DatagramSocket发送;接收数据时,创建空的DatagramPacket,通过DatagramSocket的receive方法获取数据。 协议解析是指将接收到的数据按照预定义的...

    UDP通信方式实现.docx

    服务器端首先创建 DatagramSocket,指定端口号,然后创建 DatagramPacket,接受客户端发送的数据信息,最后读取数据。客户端实现套路也类似,首先定义发送信息,然后创建 DatagramPacket,包含将要发送的信息,最后...

    Android 组播例子 发送端和接收端源码

    在接收端,接收到的数据也会封装在`DatagramPacket`中,可以从其中读取数据。 8. **线程管理**:为了保证数据的连续发送和接收,通常会在单独的线程中执行网络操作,避免阻塞主线程。 9. **错误处理**:在实际应用...

    TCP.UDPServerSocket.rar_TCP消息_tcp接收信息_udp 发送消息_网络发送接收

    在Java中,我们使用`DatagramSocket`类来创建服务器和客户端的套接字。对于发送消息,我们创建`DatagramPacket`,填充数据和目标地址,然后调用`send()`方法。接收端同样创建`DatagramPacket`,并使用`receive()`...

    UDP协议用户数据报协议demo

    `DatagramSocket`提供了发送和接收UDP数据报的功能。下面是一个简单的UDP通信示例: 1. 创建`DatagramSocket`实例,指定服务器端口。 2. 准备要发送的数据,通常是字节数组。 3. 创建`DatagramPacket`对象,指定...

    TCP,UDP协议传输与解析(客户端)

    接收到数据时,同样通过DatagramSocket的receive()方法获取DatagramPacket,从中读取数据。 在“socketinter”这个文件名中,我们推测可能包含了一些关于Socket接口或交互的示例代码或者教程。这些代码可能演示了...

    Java实现udp协议的文件传输

    在Java中,我们可以使用java.net包中的DatagramSocket类来创建UDP套接字,处理数据报的发送和接收。首先,我们需要创建一个DatagramSocket实例来监听特定的端口,然后创建DatagramPacket对象来封装待发送的数据以及...

Global site tag (gtag.js) - Google Analytics