java获取协议明,通过UDP协议读取Long类型的实例!

//服务器端

import java.net.*;

import java.io.*;

public class TestUDPServer{

public static void main(String args[])throws Exception

{

byte buf[]= new byte[1024];

//数据报包用来实现无连接包投递服务

DatagramPacket dp = new DatagramPacket(buf,buf.length);

//数据报套接字是包投递服务的发送或接收点

DatagramSocket ds = new DatagramSocket(8888);

while(true)

{

//从此套接字接收数据报包

ds.receive(dp);

ByteArrayInputStream bais = new ByteArrayInputStream(buf);

DataInputStream dis = new DataInputStream(bais);

//从包含的输入流中读取此操作需要的字节

System.out.println(dis.readLong());

}

}

}

//客户端

import java.net.*;

import java.io.*;

public class TestUDPClient

{

public static void main(String args[])throws Exception

{

//定义一个Long类型的数据

long n= 10000L;

//声明一个输出管道

ByteArrayOutputStream baos = new ByteArrayOutputStream();

//数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中

DataOutputStream dos = new DataOutputStream(baos);

//将一个 long 值以 8-byte 值形式写入基础输出流中,先写入高字节。如果没有抛出异常,则计数器 written 增加 8。

dos.writeLong(n);

//创建一个新分配的 byte 数组。其大小是此输出流的当前大小,并且缓冲区的有效内容已复制到该数组中。

byte[] buf = baos.toByteArray();1

//构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号。length 参数必须小于等于 buf.length。

DatagramPacket dp = new DatagramPacket(buf,buf.length,new InetSocketAddress("127.0.0.1",8888));

DatagramSocket ds = new DatagramSocket(6666);

//从此套接字发送数据报包

ds.send(dp);

//关闭此数据报套接字

ds.close();

}

}

posted on 2009-05-17 09:29 Werther 阅读(236) 评论(0)  编辑  收藏 所属分类: 10.Java

  • 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、付费专栏及课程。

余额充值