gpt4 book ai didi

java - 如何使用套接字与socketio交互

转载 作者:行者123 更新时间:2023-12-01 11:42:08 25 4
gpt4 key购买 nike

我有一个正在运行的 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();
}
}

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

最佳答案

socket.io 是其在 webSockets 之上的扩展,webSockets 是其在普通套接字之上的协议(protocol)。

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

否则,您需要研究多种规范并实现多种协议(protocol)。仅供引用,WebSocket 连接以升级为 WebSocket 协议(protocol)的 HTTP 请求开始。一旦建立了 webSocket 连接,您就可以通过它发送 socket.io 消息。

对于 webSocket 协议(protocol)的基础知识,我发现这是一本有用的读物​​:https://developer.mozilla.org/en-US/docs/WebSockets/Writing_WebSocket_servers

关于java - 如何使用套接字与socketio交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29441136/

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