代码之家  ›  专栏  ›  技术社区  ›  Ben Beri

netty socket io读取socket.io数据?

  •  1
  • Ben Beri  · 技术社区  · 7 年前

    我正在使用以下项目来构建 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!");
    });
    

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

    我怎样才能破译这条信息?有没有办法调试发送到服务器的对象类型?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Abe    7 年前

    你正在发送 Object data . 见下表 demo class
    server.addEventListener("ackevent1", ChatObject.class, new DataListener<ChatObject>() { @Override public void onData(final SocketIOClient client, ChatObject data, final AckRequest ackRequest) { ...

    推荐文章