dimanche 18 février 2018

How to work with WebSockets on React Native and why code doesn't work?

I am using socket.io package for working with WebSockets and I have never worked with react native before.

I have created server on EC2 (AWS) and configured my node server.

const app = require('express')();
const server = require('http').createServer(app);
const io = require('socket.io')(server);

app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next();
});

io.on('connection', (socket) => {
    socket.on('start', () => {
        socket.emit('begin', true);
    });
});
server.listen(3000);

Then have created simple React Native component

....
buttonHandle = () => {
    const socket = io("ws://blablabla/");
    socket.emit('start');
    socket.on('begin', function (data) {
      console.warn(data);
    });
  }

  render() {
    return (
      <View style={styles.container}>
      <Text style={styles.boom}>Boom!</Text>
      <Button title='Activate' onPress={this.buttonHandle} />
      </View>
    );
  }

And console.warn is not working for me. Besides I see in Expo dev. tools that requests are working! I have tried to use this code in my browser and it works. I see true in console. What can be the problem? Maybe I've chosen not the best lib for websockets on react native ?




Aucun commentaire:

Enregistrer un commentaire