我有一个MIDlet,它通过网络将TCP消息发送到驻留在同一内部网络上的服务器。 每当我尝试使用此行连接时:
StreamConnection writeSock = (StreamConnection) Connector.open("socket://" + serverIp + ":" + serverPort, Connector.READ_WRITE);
我收到错误说
隧道失败
根据netstat,服务器设置为侦听的端口实际上是打开并处于侦听模式。我从移动应用程序打印了IP和端口值,它们似乎是正确的。 我看过互联网,许多人通过设置他们的APN细节解决了这个问题。我做了这样的事情,问题仍然存在。我不知道接下来要做什么。仅用于检查目的,这些是我输入的APN详细信息:
APN:互联网 APN的用户名:互联网 APN的密码:互联网
我的运营商是Vodafone Malta。正如旁注,应用程序的这一部分可以在模拟器上运行。我使用的是j2me软件包附带的默认模拟器(DefaultFxPhone1),我使用的是Netbeans 6.8。
我已尝试启用和禁用防火墙,但无济于事。
提前致谢。
答案 0 :(得分:1)
“隧道失败”表示您的APN未在设备中正确配置。您可能需要进行一些谷歌搜索才能为您的运营商找到合适的APN。
答案 1 :(得分:1)
您可能还需要考虑尝试将“; deviceside = true”参数添加到连接字符串的末尾。默认值为false,表示MDS(BES基础结构)。要通过APN直接进行TCP,需要将其设置为true。