BlackBerry 上的 UDP 发送错误
我正在为黑莓编写网络应用程序。 此代码在模拟器上是正确的,但在设备上不起作用。 当我在模拟器上运行应用程序时,我的服务器收到消息,但当我在设备上运行它时,我收到异常,not IOException
,消息为“NULL
” 。
try {
byte[] b = msg.getBytes();
dc = (UDPDatagramConnection)Connector.open("datagram://"+getHIP()+":" + getHPort());
Datagram dobject = dc.newDatagram(b, b.length);
dc.send(dobject);
System.out.println("Addr:" + dobject.getAddress());
System.out.println("Well Done!");
} catch (IOException e) {
System.out.println(e.getMessage());
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
if (dc != null) {
try {
dc.close();
} catch (Exception f) {
System.out.println("Failed to close Connector: " + f);
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
从开发人员的角度来看,黑莓上的网络访问绝非完美无缺。 您必须在 URL 中指定如何建立连接,或者设备必须在“选项”>“选项”中具有正确的 APN 设置。 高级选项> TCP 设置。 您可以尝试找到这些并输入它们以查看是否有效。
Network access on the BlackBerry is far from seemless from a developer's point of view. You either have to specify how the connection should be made in the URL, or the device has to have the correct APN settings in Options > Advanced Options > TCP Settings. You could try finding those and entering them to see if it works.
UDP 要求在
Connector.open()
中设置 APN:有关详细信息,请查看 连接器
它在没有 APN 的模拟器上工作正常,因为模拟器没有 APN,但您需要在真实设备上。
UDP requires the APN to be set in the
Connector.open()
:For more info on that check out the Connector
It works fine on the simulator w/o APN because the simulator doesn't have an APN, but you need on a real device.
我可以想到两种可能性:
可选
J2ME 规范 - 所以黑莓可能不支持它。I can think of two possibilities:
optional
in the J2ME spec - so maybe the Blackberry doesn't support it.