Java最简单的UDP实例

服务端: 监听端口(5051),接收数据
import java.io.*;
import java.net.*;
import java.util.Scanner;
class UdpServer{
    public static void main(String[] args)throws IOException{
        DatagramSocket  server = new DatagramSocket(5051);
  byte[] recvBuf = new byte[100];
  DatagramPacket recvPacket = new DatagramPacket(recvBuf, recvBuf.length);
  while (true) {
   server.receive(recvPacket);
   String recvStr = new String(recvPacket.getData(), 0,
     recvPacket.getLength());
   System.out.println("收到:" + recvStr);
   if(recvStr.endsWith("q")|| recvStr.endsWith("quit")){
    break;
   }
  }
        server.close();
    }
}
 
客户端:向目标IP(127.0.0.1)及端口(5051),发送字符串
import java.io.*;
import java.net.*;
import java.util.Scanner;
class UdpClient{
    public static void main(String[] args)throws IOException{
        DatagramSocket client = new DatagramSocket();
        InetAddress addr = InetAddress.getByName("127.0.0.1");
        int port = 5051;
        byte[] sendBuf;
        while(true){
         Scanner sc = new Scanner(System.in);
         System.out.println("请输要发送的内容:");
         String str  = sc.nextLine();
            sendBuf = str.getBytes();
            DatagramPacket sendPacket = new DatagramPacket(sendBuf , sendBuf.length , addr , port );
         client.send(sendPacket);
   if(str.endsWith("q")|| str.endsWith("quit")){
    break;
   }
        }
  client.close();
 }
}
posted on 2015-11-07 23:31  zzhaoh 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/zhaohz/p/4946365.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UDP S9300协议是一种用于网络通信的协议,它主要用于在不可靠的网络环境下进行高效的数据传输。在Java中,可以使用Java的DatagramSocket类来实现UDP S9300协议的通信。下面是一个简单Java实例,用于发送和接收UDP S9300协议的数据包: 发送数据包: ```java import java.net.*; public class UDPSender { public static void main(String[] args) throws Exception { DatagramSocket socket = new DatagramSocket(); String message = "Hello, World!"; InetAddress address = InetAddress.getByName("localhost"); int port = 9300; byte[] data = message.getBytes(); DatagramPacket packet = new DatagramPacket(data, data.length, address, port); socket.send(packet); socket.close(); } } ``` 接收数据包: ```java import java.net.*; public class UDPReceiver { public static void main(String[] args) throws Exception { DatagramSocket socket = new DatagramSocket(9300); byte[] buffer = new byte[1024]; DatagramPacket packet = new DatagramPacket(buffer, buffer.length); socket.receive(packet); String message = new String(packet.getData(), 0, packet.getLength()); System.out.println(message); socket.close(); } } ``` 这个Java实例演示了如何使用DatagramSocket类来发送和接收UDP S9300协议的数据包。在发送数据包时,我们需要指定目标地址和端口号,并将数据打包成DatagramPacket对象。在接收数据包时,我们需要创建一个DatagramPacket对象来接收数据,并使用DatagramSocket类的receive()方法来接收数据包。最后,我们可以将接收到的数据转换成字符串并打印出来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值