泰安网站建设与优化,wordpress首页文章设置,百度指数明星搜索排名,凡客网上做的网站能否更改域名场景
对接协议中需要监听UDP协议的指定端口并监听数据#xff0c;且数据格式为十六进制。
如果是在linux服务上#xff0c;可以快速通过C或者python脚本等方式实现。
这里使用Java代码实现#xff0c;可便于后续做其他存储数据等的扩展#xff0c;且只需要在服务器上安装…场景
对接协议中需要监听UDP协议的指定端口并监听数据且数据格式为十六进制。
如果是在linux服务上可以快速通过C或者python脚本等方式实现。
这里使用Java代码实现可便于后续做其他存储数据等的扩展且只需要在服务器上安装jdk均可进行运行和数据调试。
注
博客霸道流氓气质-CSDN博客
实现
1、新建Java类
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;public class UdpTest {public static void main(String[] args) {int port 21000; // 选择一个未被使用的端口号try {// 创建DatagramSocket对象并绑定到指定的本地端口DatagramSocket socket new DatagramSocket(port);System.out.println(Listening on port: socket.getLocalPort());// 创建一个DatagramPacket用于接收数据byte[] buffer new byte[1024]; // 接收缓冲区DatagramPacket packet new DatagramPacket(buffer, buffer.length);// 循环监听数据包while (true) {socket.receive(packet); // 接收数据包int length packet.getLength(); // 获取实际接收到的数据长度byte[] data new byte[length]; // 创建实际大小的数据副本System.arraycopy(buffer, 0, data, 0, length);// 输出十六进制数据StringBuilder hexOutput new StringBuilder();for (byte b : data) {hexOutput.append(String.format(%02X , b));}System.out.println(hexOutput);}} catch (IOException e) {e.printStackTrace();}}
}
2、注意不要新增包名
然后在此类的路径下打开cmd,确保电脑已经安装jdk进行编译成class文件
输入如下指令
javac -encoding utf-8 UdpTest.java
因为这里含有中文所以指定编码格式 编译成功后产生class文件
运行class文件
java UdpTest 3、使用UDP测试工具发送十六进制数据并调试 则后续将此class文件放到需要调试数据的安装jdk的服务器上即可调试。