Android 上的 Websocket 服务器

Websocket server on Android

我正在尝试在 Android 设备上实现简单的 websocket 服务器。 我想使用 https://github.com/TooTallNate/Java-WebSocket,但长时间超时后连接失败。我看到它已经两年多了,在问题等方面没有答案。你有什么建议或类似的经验吗?你有其他选择吗?

谢谢!

代码:

import java.net.InetSocketAddress;

import org.java_websocket.WebSocket;
import org.java_websocket.handshake.ClientHandshake;
import org.java_websocket.server.WebSocketServer;





public class WebsocketServer extends WebSocketServer 
{

public WebsocketServer(InetSocketAddress address) {
    super(address);
    // TODO Auto-generated constructor stub
}

@Override
public void onClose(WebSocket arg0, int arg1, String arg2, boolean arg3) {
    // TODO Auto-generated method stub

}

@Override
public void onError(WebSocket arg0, Exception arg1) {
    // TODO Auto-generated method stub
    System.out.println(arg1.getStackTrace());

}

@Override
public void onMessage(WebSocket arg0, String arg1) {
    // TODO Auto-generated method stub

}

@Override
public void onOpen(WebSocket arg0, ClientHandshake arg1) {
    // TODO Auto-generated method stub

    System.out.println("new connection to " + arg0.getRemoteSocketAddress());


}
}

主要

    String ipAddress = "10.0.0.140"
    InetSocketAddress inetSockAddress = new InetSocketAddress(ipAddress, 38301);
    WebsocketServer wsServer = new WebsocketServer(inetSockAddress);
    wsServer.run();

js 客户端 - 它与 python 中的另一个 ws 服务器一起工作:

    var ws;

    $("#connect").click(function(e)
    {

            var ip = $("#address").val();
            ws = new WebSocket("ws://" + ip);
            ws.onopen = function()
            {
                 alert("connected!");
            };

    });

我找到了隐藏的答案 there

我改变了:

wsServer.run();

wsServer.start(); 它有效!