gpt4 book ai didi

java - netty-socketio 读取socket.io 数据吗?

转载 作者:太空宇宙 更新时间:2023-11-04 10:13:51 25 4
gpt4 key购买 nike

我正在使用以下项目来构建 socket.io服务器:https://github.com/mrniko/netty-socketio

我的服务器:

public class ServerTest {
public static void main(String... args) {
Configuration config = new Configuration();
config.setPort(8080);

config.setAuthorizationListener(new AuthorizationListener() {
public boolean isAuthorized(HandshakeData handshakeData) {
System.out.println("yes!" + handshakeData.getAddress());
return true;
}
});
final SocketIOServer server = new SocketIOServer(config);

server.addEventListener("message", String.class, new DataListener<String>() {

public void onData(SocketIOClient socketIOClient, String s, AckRequest ackRequest) throws Exception {
System.out.println("hey");
}
});

server.start();
}
}

我接受所有连接,我已经使用 socket.io javascript 客户端测试了这样的连接:

var ws = io.connect('localhost:8080');
ws.on('connect', function() {
ws.emit('message', "I am a message!");
});

现在,我得到了打印“hey”,但是如果我发送这样的数据对象会怎样:

ws.emit('message', {data: "I am a message!"});

如何解码此消息?有没有办法调试发送到服务器的对象类型?

最佳答案

您正在发送 Object从客户端到服务器。在服务器上,您需要创建一个对象,该对象具有名为 data 的字符串字段。 。请参阅以下demo class ,基本上现在您可以使用类似
的代码在服务器上接收对象
server.addEventListener("ackevent1", ChatObject.class, new DataListener<ChatObject>() {
@Override
public void onData(final SocketIOClient client, ChatObject data, final AckRequest ackRequest) {
...

关于java - netty-socketio 读取socket.io 数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51969924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com