【问题标题】:How to interact with socketio using sockets [duplicate]如何使用套接字与socketio交互[重复]
【发布时间】:2015-04-03 23:37:23
【问题描述】:

我有一个 socketio 服务器正在运行,我想用 Java 与它进行交互。我知道there is an official client,但我无法让它为普通的java项目工作,所以我想看看我是否可以通过普通的套接字与之交互。到目前为止,这是我所拥有的:

Socket sock = new Socket("127.0.0.1", 5000); 
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(sock.getInputStream()));
PrintWriter outToServer = new PrintWriter(sock.getOutputStream(), true);

outToServer.println("connect");

while(true){
    while(inFromServer.ready()){
        inFromServer.readLine();
    }
}

它似乎可以连接,但我没有从客户端或服务器得到任何响应。我究竟需要发送什么才能从服务器获得响应?我会得到什么信息?

【问题讨论】:

    标签: java node.js sockets socket.io


    【解决方案1】:

    socket.io 是它自己在 webSockets 之上的扩展,它是它自己在普通套接字之上的协议。

    您必须同时实现 webSockets 和 socket.io 才能与 socket.io 服务器通信。除非这是一个仅供学习的学术练习,否则我强烈建议您获取一个在 Java 中工作的 socket.io 库并使用它,因为它可以为您节省大量时间、问题和错误。

    否则,您需要研究多个规范并实施多个协议。仅供参考,websocket 连接以升级到 webSocket 协议的 HTTP 请求开始。一旦建立了 webSocket 连接,就可以通过它发送 socket.io 消息。

    对于 webSocket 协议的基础知识,我发现这是一篇有用的文章:https://developer.mozilla.org/en-US/docs/WebSockets/Writing_WebSocket_servers

    【讨论】:

    • 好的,谢谢你的信息!
    猜你喜欢
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    • 1970-01-01
    • 2021-03-25
    • 2022-08-18
    • 1970-01-01
    • 2012-03-10
    相关资源
    最近更新 更多