在 React Native 中发送和接收类似 Websockets 的消息

Sending and receiving Websockets-like messages in React Native

是否可以在 React Native 应用程序中使用 websockets(通过 socket.io 等)与自定义后端进行双向通信,而不是使用支持的 fetch() 进行轮询等?例如,使用 React Native 的聊天应用程序是必需的。

他们的网站还没有提到 API。

我自己没有尝试过,但是 运行 socket.io 对于 react-native app 应该没有问题(它是。 Socket.io 是纯 javascript 库没有我相信任何 HTML/CSS 依赖项,如此简单

npm install socket.io --save

在您的项目中应该足以开始使用它。

实际上,看起来有人以前做过并设法让 socket.io 为 react-native 工作:https://github.com/badfortrains/wsExample

这里逐步说明了在 React Native 应用程序中 socket.io 和 运行 需要做的事情。它与 Jarek Ptiuk 的回答非常相似,但有一个如何操作的示例。

示例:

import React from 'react-native';

// ... [other imports]

window.navigator.userAgent = 'react-native';

import io from 'socket.io-client/socket.io';

export default class App extends Component {
  constructor(props) {
    super(props);
    this.socket = io('localhost:3001', {jsonp: false});
  }

  // no you can use this.socket.io(...)
  // or any other functionality within socket.io!

  ...
}