我正在尝试开始使用 WebSockets,并尝试编写一个简单的应用程序来通过 websoket 来回发送消息。
但是,看起来我尝试创建的套接字永远不会连接。为什么会这样?
下面是我的 WebSockets 类的代码。当.onConnect()
被调用时,它会记录:
我是socket,我是连接的。我连接了吗?- 错误的
更新:在 JavaScript 中,我在其中创建了有问题的套接字,readyState
is 1
,这意味着“套接字打开,通信是可能的”。
import a.b.Misc; //writes logs.
import com.sun.grizzly.websockets.BaseServerWebSocket;
import com.sun.grizzly.websockets.DataFrame;
import com.sun.grizzly.websockets.WebSocketListener;
public class ChatWebSocket_v2 extends BaseServerWebSocket {
private String user;
public ChatWebSocket_v2(WebSocketListener... listeners) {
super(listeners);
}
public String getUser() {
if (user == null) {
Misc.print("User is null in ChatWebSocket");
throw new NullPointerException("+=The user is null in chat web socket");
}
return user;
}
public void setUser(String user) {
Misc.print("Just set user: " + user);
this.user = user;
}
@Override
public void onMessage(String message) {
Misc.print(message +"\n");
}
@Override
public void onMessage(byte[] message) {
Misc.print(new String(message) +" << Bytes\n");
}
@Override
public void onConnect() {
Misc.print("I am socket, i was connected. Am i connected? - " + this.isConnected());
}
@Override
public void onClose(DataFrame df) {
Misc.print("I am socket, i was closed");
}
}