2017-06-07 29 views
0

Ich mag, Daten senden und empfangen, aber wenn ich den Code ausführen fehlschlägt er das „WebSocket“ und App Abstürze zu importieren. Der Code in der Render-Methode funktioniert gut, aber ich möchte eine Ansicht immer wieder nur zum Senden von Daten rendern. Ich möchte den Code in ComponentWillMount-Funktion zum Senden und Daten empfangen. Bitte hilf mir. Ich werde dir dankbar sein.Ich mag WebSockets verwenden, um das zu Senden und Empfangen von Daten in REACT NATIVE

import React, { Component } from 'react'; 
import WS from 'react-native-websocket'; 
import { View } from 'react-native'; 

export default class Example extends Component { 

    componentWillMount() { 


const ws = new WebSocket('ws://host.com/path'); 

ws.onopen =() => { 
    // connection opened 

    ws.send('something'); // send a message 
}; 

ws.onmessage = (e) => { 
    // a message was received 
    console.log(e.data); 
}; 

ws.onerror = (e) => { 
    // an error occurred 
    console.log(e.message); 
}; 

ws.onclose = (e) => { 
    // connection closed 
    console.log(e.code, e.reason); 
}; 


    } 

    render() { 
    return (
     <View style={{ flex: 1 }}> 
     <WS 
      ref={ref => { this.ws = ref }} 
      url="http://34.206.187.250:1880/ws/praduman" 
      onOpen={() => { 
      console.log('Open!') 
      this.ws.send('Hello') 
      }} 
      onMessage={console.log} 
      onError={console.log} 
      onClose={console.log} 
      reconnect 
     /> 
     </View> 
    ) 
    } 
} 

Antwort

0

Versuchen Sie folgendes:

import React, { Component } from 'react' 
import { AppRegistry, View } from 'react-native' 
import WS from 'react-native-websocket' 

export default class Example extends Component { 
    _onOpen() { 
     console.log('Open!') 
     this.ws.send('Hello')  
    } 
    _onMessage(event) { 
     console.log('Data',event)  
    } 
    _onError(error) { 
     console.log('Error',error) 
    } 
    _onClose() { 
     console.log('Close!') 
    } 

    render() { 
    return (
     <View style={{flex: 1}}> 
     <WS 
      ref={ref => {this.ws = ref}} 
      url="wss://echo.websocket.org/" 
      onOpen={() => this._onOpen.bind(this)} 
      onMessage={(event) => this._onMessage.bind(this)} 
      onError={(error) => this._onError.bind(this)} 
      onClose={() => this._onClose.bind(this)} 
     /> 
     </View> 
    ) 
    } 
} 
+0

einfach so .. _opOpen() { –

Verwandte Themen