首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >组播到直接连接的WIFI设备

组播到直接连接的WIFI设备
EN

Stack Overflow用户
提问于 2014-03-31 04:16:27
回答 1查看 576关注 0票数 0

我有一个WIFI设备,我正在用它做实验。通过我的macbook,我可以通过wifi直接连接到这台设备。在我有了WIFI连接后,我应该能够通过多播与设备通信。但是,当我尝试在连接时将数据报包发送到摄像头时,我得到了一些IOException:

代码语言:javascript
复制
java.io.IOException: Can't assign requested address 

我检查了一些网络设置,发现我的笔记本电脑启用了组播,我还将使用的组播地址(239.255.255.250)添加到路由表中。(在某处阅读)还是没有运气……

为什么我会从我的应用程序中得到这个异常?

下面是我用来连接的代码:

代码语言:javascript
复制
DatagramSocket socket = null;
DatagramPacket packet = null;
try {
    socket = new DatagramSocket();
    InetSocketAddress iAddress = new InetSocketAddress("239.255.255.250", 1900);
    packet = new DatagramPacket(sendData, sendData.length,iAddress);
    socket.send(packet);

我认为这与我的网络/设置有关。当我重新连接到我的无线接入点时,我的应用程序不会给出这个异常,我可以在我的控制台中看到包:

代码语言:javascript
复制
MacBook-Pro-van-Roy:~ Roy$ sudo tcpdump -ni en1 host 239.255.255.250
Password:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en1, link-type EN10MB (Ethernet), capture size 65535 bytes
19:54:18.688367 IP 192.168.1.34.57428 > 239.255.255.250.1900: UDP, length 129
19:54:18.789447 IP 192.168.1.34.57428 > 239.255.255.250.1900: UDP, length 129
19:54:18.890506 IP 192.168.1.34.57428 > 239.255.255.250.1900: UDP, length 129
EN

回答 1

Stack Overflow用户

发布于 2014-03-31 21:13:06

InetSocketAddress不是InetAddress (它是SocketAddress)。你可能想要这样的东西:

代码语言:javascript
复制
InetAddress addr = InetAddress.getByName("239.255.255.250");
packet = new DatagramPacket(sendData, sendData.length, addr, 1900);
socket.send(packet);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22749272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档