簡體   English   中英

netty-socketio讀取了socket.io數據?

[英]netty-socketio read socket.io data?

我正在使用以下項目來構建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!"});

如何解碼此消息? 有沒有辦法調試發送到服務器的對象類型?

您正在從客戶端向服務器發送Object 在服務器上,您需要創建一個對象,該對象具有一個名為data的字符串字段。 參見下面的演示類 ,基本上,現在您可以使用以下代碼在服務器上接收對象
server.addEventListener("ackevent1", ChatObject.class, new DataListener<ChatObject>() { @Override public void onData(final SocketIOClient client, ChatObject data, final AckRequest ackRequest) { ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM