我使用 Tootallnate java-websocket 在 android 上创建了一个 websocket 服务器。我将它托管在 10.0.2.2 和端口号 15 中。如何连接也在同一个模拟器中运行的客户端?当我使用下面的代码时,即使服务器没有运行它也会连接!这是为什么?我究竟做错了什么?我已经测试了我的服务器。打印实例和地址等等。服务器端一切正常。请指教。
package com.example.android_websocketclient_test;
import java.net.URI;
import org.java_websocket.client.WebSocketClient;
import org.java_websocket.drafts.Draft;
import org.java_websocket.handshake.ServerHandshake;
import android.util.Log;
public class EmptyClient extends WebSocketClient{
public EmptyClient(URI serverUri, Draft draft) {
super(serverUri, draft);
}
public EmptyClient(URI serverURI) {
super(serverURI);
}
@Override
public void onOpen(ServerHandshake handshakedata) {
Log.d("test app","new connection opened");
System.out.println("new connection opened");
}
@Override
public void onClose(int code, String reason, boolean remote) {
System.out.println("closed with exit code " + code + " additional info: " + reason);
}
@Override
public void onMessage(String message) {
System.out.println("received message: " + message);
}
@Override
public void onError(Exception ex) {
System.err.println("an error occurred:" + ex);
}
}
以下是我创建客户的方式。
public static void main(String[] args) throws URISyntaxException {
WebSocketClient client = new EmptyClient(new URI("ws://10.0.2.2:15"), new Draft_10());
client.connect();
}