如何在 Android 中为 SocketIO 设置传输?

Posted

技术标签:

【中文标题】如何在 Android 中为 SocketIO 设置传输?【英文标题】:How to set transports for SocketIO in Android? 【发布时间】:2017-10-16 08:27:43 【问题描述】:

我花了很长时间研究 SocketIO android 中的传输。 我需要为选项设置传输是“websocket”而不是“轮询”, 也许 Socketio 设置的默认传输是轮询。

任何帮助表示赞赏,谢谢。

【问题讨论】:

【参考方案1】:

您必须使用transports 选项:

import io.socket.engineio.client.transports.WebSocket;

//...
IO.Options opts = new IO.Options();
opts.transports = new String[]  WebSocket.NAME ;
Socket mSocket = IO.socket("http://example.com/", opts);

用于投票:

import io.socket.engineio.client.transports.Polling;
//...

opts.transports = new String[]  Polling.NAME ;

你可以查看这个socket.io test

【讨论】:

非常感谢,它对我有用,但我不知道什么时候需要使用 websocket 或轮询? 查看这个答案:***.com/questions/10028770/… 非常感谢,我明白了

以上是关于如何在 Android 中为 SocketIO 设置传输?的主要内容,如果未能解决你的问题,请参考以下文章

如何在nodejs服务器上使用android socketio模块在两个人之间进行聊天?

如何在 android 上检查 socket.io 连接或断开连接?

IOAcknowledge 方法不适用于 Android 中的 SocketIO?

Expo react-native 将无法连接到 socketio(Android 和 iOS)

Android Nkzawa SocketIO 断开连接并建立新连接

使用 Nodejs + SocketIO 时丢弃传输错误