【发布时间】:2015-03-21 21:17:33
【问题描述】:
我正在尝试在 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!");
};
});
【问题讨论】:
-
Java-WebSocket 用于服务器 - 您使用什么作为客户端?
-
请提供更多详细信息,以便我们更准确地回答问题。例如您正在使用的代码示例。
-
@MaxWorg 我正在使用简单的 javascript 客户端与另一个用 python 编写的 websocket 服务器一起工作。
-
如果我们也能看到 JavaScript(以确保它添加了正确的端口号等),那么故障排除会更容易。你的 onOpen 打印输出会被触发吗?
-
@anstosa 对不起,更新了!