&引用;“拒绝连接”;Autobahn Android到Java EE端点
我在Payara服务器上设置了一个JavaEE端点,我尝试使用AutobahnWebSockets将Android客户端连接到该服务器。我有以下设置: 服务器上的My WebSocket终结点:&引用;“拒绝连接”;Autobahn Android到Java EE端点,java,android,jakarta-ee,autobahn,Java,Android,Jakarta Ee,Autobahn,我在Payara服务器上设置了一个JavaEE端点,我尝试使用AutobahnWebSockets将Android客户端连接到该服务器。我有以下设置: 服务器上的My WebSocket终结点: public class CommunicationSocket extends Endpoint { @Override public void onOpen(Session aSession, EndpointConfig aConfig) { aSession.addMe
public class CommunicationSocket extends Endpoint {
@Override
public void onOpen(Session aSession, EndpointConfig aConfig) {
aSession.addMessageHandler(new MessageHandler.Whole<byte[]>() {
@Override
public void onMessage(byte[] aMessage) {
// Do something fun
}
});
}
}
然而,当我尝试使用autobahn连接我的android客户端时,套接字关闭,但无法与消息“connection Rejected”建立连接。我在onCreate中使用以下代码进行连接(mSocket是activity类的一个字段):
我对我的清单具有internet权限,因此:
<uses-permission android:name="android.permission.INTERNET">
</uses-permission>
我的代码或方法中是否存在任何错误?是否可以记录/捕获连接事件(握手或其他)以了解连接被拒绝的原因?当我准备发布我最后一次在谷歌上搜索到的问题时:,localhost不是运行仿真器的机器的localhost(我猜它是模拟设备的localhost)。因此,请使用: 而不是
localhost:[port]
在模拟器上也可以(如果在实际设备上运行,不要忘记更改)
WebSocketHandler messageHandler = new WebSocketHandler() {
@Override
public void onOpen() {
System.out.println("Connected...");
}
@Override
public void onClose(int code, String reason) {
System.out.println("Socket closing: " + reason);
mSocket = null;
}
@Override
public void onTextMessage(String payload) {
System.out.println("Received: " + payload);
}
@Override
public void onBinaryMessage(byte[] payload) {
System.out.println("Message received: " + payload);
}
};
mSocket = new WebSocketConnection();
try {
String address = "ws://localhost:46588/Server/WebSocket";
mSocket.connect(address, messageHandler);
} catch (WebSocketException e) {
System.out.println("Could not connect to WebSocket: "
+ e.getMessage());
mSocket = null;
}
<uses-permission android:name="android.permission.INTERNET">
</uses-permission>
10.0.2.2:[port]
localhost:[port]