J2ME无法连接到远程套接字

时间:2019-09-25 05:29:05

标签: 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.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连接到该地址时,一切正常。我的代码有什么问题?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我已经大量搜索了J2ME套接字并获取了此文档,请仔细阅读并检查它是否可以解决您的J2ME套接字连接问题。

http://www.inf.unibz.it/~ricci/MS/slides-2010-2011/6-J2ME-NETWORKING-P1.pdf