Socket.io 服务器不响应客户端

Socket.io Server does not answer clients

在服务器上,我将传输方式更改为 websocket,并使用 socket.io-client.js 作为客户端,并且成功了。

socket.io-client.js

{"GET":{"scheme":"ws","host":"113.14.15.178:3000","filename":"/socket.io/","query":{"EIO":"4","transport":"websocket"},"remote":{"Address":"113.14.15.178:3000"}}}

当版本在我的 Android 应用程序上使用 socket.io-client.java 时,我遇到了问题。 当我使用 socket.io-client.java

时服务器没有响应请求

socket.io-client.java

{"GET":{"scheme":"ws","host":"113.14.15.178:3000","filename":"/socket.io/","query":{"EIO":"3","transport":"websocket"},"remote":{"Address":"113.14.15.178:3000"}}}

问题是否出在 Engine.IO 中,它在 socket.IO-client 中使用。有解决办法吗

我已经解决了我自己的问题。如果您遇到同样的问题。您可以尝试以下操作:

  1. 在您的项目中添加 Websocket 客户端模块

    implementation 'blabla:ws:version'

  2. 进行与服务器相同的查询 header <pre> ws.header({"filename":"/socket.io/"}).query({"EIO":"4","transport":"websocket"}); </pre>

  3. 使用 webscocket-client.js.

    检查来自 socket.io 和 websocket 客户端的传出消息和传入消息

示例:

  • 输入:40
  • 输出:20
  • 输入:30
  • 输出:20
  • 输入:30
  • 输出:20
  1. 然后做同样的事情使条件为真。 <pre>ws.open( (40) ? ws.send(20) : ws.reconection(); ); ws.massage( if(30){ ws.send(20); } );</pre>