Java J2ME赢得了';t连接到远程插座

Java J2ME赢得了';t连接到远程插座,java,server,client-server,java-me,midp,Java,Server,Client Server,Java Me,Midp,我有一个J2ME应用程序,应该连接到某个地方启动的套接字。当我在localhost上运行所有操作时,一切正常,但如果我在服务器上启动它并尝试在客户端连接它,它将无法连接,并引发异常: javax.microedition.io.ConnectionNotFoundException: error 10051 in socket::open at com.sun.midp.io.j2me.socket.Protocol.open0(), bci=0 at com.sun.midp.

我有一个J2ME应用程序,应该连接到某个地方启动的套接字。当我在localhost上运行所有操作时,一切正常,但如果我在服务器上启动它并尝试在客户端连接它,它将无法连接,并引发异常:

javax.microedition.io.ConnectionNotFoundException: error 10051 in socket::open
    at com.sun.midp.io.j2me.socket.Protocol.open0(), bci=0
    at com.sun.midp.io.j2me.socket.Protocol.connect(), bci=184
    at com.sun.midp.io.j2me.socket.Protocol.open(), bci=216
    at com.sun.midp.io.j2me.socket.Protocol.openPrim(), bci=4
    at javax.microedition.io.Connector.open(), bci=47
    at javax.microedition.io.Connector.open(), bci=3
    at javax.microedition.io.Connector.open(), bci=2
 - Midlet.startApp(Midlet.java:315)
    at javax.microedition.midlet.MIDletTunnelImpl.callStartApp(), bci=1
    at com.sun.midp.midlet.MIDletPeer.startApp(), bci=5
    at com.sun.midp.midlet.MIDletStateHandler.startSuite(), bci=261
    at com.sun.midp.main.AbstractMIDletSuiteLoader.startSuite(), bci=38
    at com.sun.midp.main.CldcMIDletSuiteLoader.startSuite(), bci=5
    at com.sun.midp.main.AbstractMIDletSuiteLoader.runMIDletSuite(), bci=144
    at com.sun.midp.main.AppIsolateMIDletSuiteLoader.main(), bci=26
下面是使我的应用程序连接到服务器的代码:

    SocketConnection sc = (SocketConnection) Connector.open("socket://134.0.118.249:7997");

此外,当我通过Telnet连接到该地址时,一切都正常。我的代码出了什么问题?

检查您的服务器防火墙并允许通过端口7997进行通信。

我已经搜索了很多关于J2ME套接字的信息,获得了此文档,请阅读并检查它是否能解决您的J2ME套接字连接问题


好吧,即使我禁用防火墙,它仍然无法连接。因此,我现在拥有的是:即使是使用Java.net.Socket的简单基于Java的客户端也可以连接,但J2ME不能。J2ME应用程序是否在模拟器上运行?是的,确实如此。您是否使用Wireless Toolkit 2.5.201进行了尝试?自Java ME SDK 3.0以来,无线工具包应该已经集成