我正在尝试从我的Android应用程序连接到GlassFish-server4.1.1,但是出现“无法连接到/ localhost(端口8080)”,超过90000毫秒的错误。我更改了服务器上的端口,但仍然出现相同的错误......。
它只能在NetBeans上连接到服务器,但在Android上失败,并且以下是我的代码:
服务器代码:
客户端代码
我不知道为什么会出现这个错误? 有人能帮帮我吗...
它只能在NetBeans上连接到服务器,但在Android上失败,并且以下是我的代码:
服务器代码:
@ServerEndpoint("/echo")
公共类WebSocketClass {
/**
* @param session
* @OnOpen allows us to intercept the creation of a new session.
* The session class allows us to send data to the user.
* In the method onOpen, we'll let the user know that the handshake was
* successful.
*/
@OnOpen
public void onOpen(Session session){
System.out.println(session.getId() + " has opened a connection");
try {
session.getBasicRemote().sendText("Connection Established");
} catch (IOException ex) {
}
}
/**
* When a user sends a message to the server, this method will intercept the message
* and allow us to react to it. For now the message is read as a String.
* @param message
* @param session
*/
@OnMessage
public void onMessage12(String message, Session session){
System.out.println("Message from " + session.getId() + ": " + message);
try {
session.getBasicRemote().sendText(message);
} catch (IOException ex) {
}
}
/**
* The user closes the connection.
*
* Note: you can't send messages to the client from this method
* @param session
*/
@OnClose
public void onClose(Session session){
System.out.println("Session " +session.getId()+" has ended");
}}
客户端代码
private void connectWebSocket() {
URI uri;
try {
uri = new URI("ws://localhost:8080/WebApplication1/echo");
} catch (URISyntaxException e) {
e.printStackTrace();
return;
}
mWebSocketClient = new WebSocketClient(uri) {
@Override
public void onOpen(ServerHandshake serverHandshake) {
Log.i("Websocket", "Opened");
mWebSocketClient.send("Hello from " + Build.MANUFACTURER + " " + Build.MODEL);
}
@Override
public void onMessage(String s) {
final String message = s;
runOnUiThread(new Runnable() {
@Override
public void run() {
TextView textView = (TextView)findViewById(R.id.messages);
textView.setText(textView.getText() + "\n" + message);
}
});
}
@Override
public void onClose(int i, String s, boolean b) {
Log.i("Websocket", "Closed " + s);
}
@Override
public void onError(Exception e) {
Log.i("Websocket", "Error " + e.getMessage());
}
};
mWebSocketClient.connect();
}
我不知道为什么会出现这个错误? 有人能帮帮我吗...