React NativeでSocket.ioが正常に動作しないと聞きましたので、代わりにプレーンWebSocketを使用することにしました。WebSocketでReact Nativeが動作しない
私はWebSocketサーバーを実装するためにnode.jsを使用していますが、それは難しくありませんでした。ブラウザでは、私はすべて、Reactのネイティブで成功したことはありませんでした。
これらは
は私がのWebSocketサーバーを実装するためにしようとしたものです:- 急行-WS
- WS
急行-WSはちょうどすべてのエラーメッセージなしで働いていませんでした。ちょうどそれは何かを接続できなかったと言いました。
私はモジュールをwsに変更しました。このモジュールにはクライアントとサーバーの両方が必要です。サーバーが働いたが、ときAVDのAndroidとアプリで、それはsaids:
は、モジュールがあることを確認します.IF不明モジュール「URL」を必要と は、「インストールNPM」パッケージャを再起動したり、実行してみてください。
私はnode_modulesディレクトリを完全に削除して再インストールしましたが、同じエラーが再度表示されました。
私はノードv6.2.2を使用しており、react-native-cli 1.0.0、react-native 0.33.0を使用しています。
これは、(WSモジュールのreadmeと同じ)、WSモジュールとサーバーコードです:
var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({ port: 3000 });
wss.on('connection', (socket) => {
socket.on('message', (msg) => {
console.log('Received: ' + msg);
});
socket.send('something');
});
これは、クライアントである:
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View
} from 'react-native';
const WebSocket = require('ws');
class wschat extends Component {
constructor() {
super();
}
componentDidMount() {
var socket = new WebSocket("ws://localhost:3000");
socket.on('open',() => {
socket.send('something');
});
socket.on('message', (data, flags) => {
console.log(data);
console.log(flags);
});
}
...
競合を付けないようにするために、私はWebSock代わりのWebSocket際に使用しましたwsモジュールが必要ですが、それは問題ではありませんでした。
私は逃したものがありますか? React Native docはあまり説明がなく、実際の例を見つけるのは難しいです。読んでいただきありがとうございました。アドバイスをいただければ幸いです。
私も最初のWebSocket =は( 'WS')を必要と 'のconstを削除しようと、この問題で立ち往生' WebSicketはRNにデフォルトで提供されています。 動作したら教えてください – MTo
バックエンドが自分のデバイスの 'localhost'ではなく、自分のコンピュータの' localhost'で動いているとわかるまで、私はRNコードで 'localhost:3000'と同じような問題を抱えていました。 。一度私のローカルIPアドレスに置き換えると、それは働いた。 – user132169