java - 数据报接收方法在java中不接收数据
问题描述
我正在尝试通过 UDP 协议与网络设备通信以读取不同的值。设备将值写入端口 11104。我只想通过此端口上的 UDP 连接到设备并想读取这些值。为此,我写了下面的代码,但它不起作用。(我检查了 IP 和端口号是否正确)。
public class GetDeviceResponseClass{
public static void main(String[] args){
int deviceport = 11104;
String deviceipaddress_str ="xxx.xx.xx.xxx";
byte[] rcvdata = new byte[1024];
InetAddress deviceipaddress = InetAddress.getByName(deviceipaddress_str);
DatagramSocket rcvsocket = new DatagramSocket();
rcvsocket.connect(deviceipaddress,deviceport);
DatagramPacket rcvpacket = new DatagramPacket(rcvdata,rcvdata.length);
rcvsocket.receive(rcvpacket);//here it is getting stuck
String response = new String(rcvdata,0,rcvpacket.getLength());
System.out.println("response = "+response);
rcvsocket.close();
}
}
解决方案
推荐阅读
- apache-spark - 在火花中重现太大的帧异常
- flutter - 如何在对话框中将 SingleChildScrollView 滚动到 TextField 焦点
- c - 将 getpid() 与 clone() 一起使用会导致 SIGSEGV
- javascript - 如何在对象Javascript中制作数组列表
- tensorflow - 无法训练自定义反对者检测器
- php - 如何在文件夹应用程序内但在laravel中的文件夹http之外创建控制器?
- objective-c - 数据是否来自缓存?
- java - 如何将布局作为函数参数传递
- ios - iOS Visible=false,事件元素在屏幕上可见
- node.js - 如何将apache tomcat服务器配置到oracle数据库