我有一个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连接到该地址时,一切正常。我的代码有什么问题?
答案 0 :(得分:0)
检查您的服务器防火墙,并允许通过端口7997进行通信。
答案 1 :(得分:0)
我已经大量搜索了J2ME套接字并获取了此文档,请仔细阅读并检查它是否可以解决您的J2ME套接字连接问题。
http://www.inf.unibz.it/~ricci/MS/slides-2010-2011/6-J2ME-NETWORKING-P1.pdf