Сделал простой сервак, проверил connect и emit, все работает. Потом сделал попытку подключится и отправить сообщение через react-native, но в консоли сервера не написало ни подключения ни сообщения. На простой html странице я подключался так: 
var socket = io('http://localhost:3000/'); в react-native не сработало. Потом решил использовать подключение с использованием 
ws, но тоже не помогло. В чем проблема? 
NODE
io.on('connection', function(socket){
  console.log('an user connected');
  socket.on('chat message', function(msg){
    console.log('message: ' + msg);
  });
  socket.on('disconnect', function(){
    console.log('user disconnected');
  });
});
http.listen(3000, function(){
  console.log('listening on *:3000');
});
HTML
<script type="text/javascript">
    document.addEventListener("DOMContentLoaded", ready);
    function ready() {
      var socket = io('http://localhost:3000/');
      setInterval(() => {
        socket.emit('chat message', "$('#m').val()");
      }, 3000);
    }
  </script>
REACT-NATIVE
import React, { Component } from "react";
import { View, Text } from "react-native";
export default class RemoteControl extends Component {
  constructor(props) {
    super(props);
    this.state = {
      open: false,
      connected: false
    };
    this.socket = new WebSocket('ws://10.0.2.2:3000/');
    this.socket.onopen = () => {
      this.setState({connected:true})
    };
  }
  emit = () => {
    if( this.state.connected ) {
      this.socket.send("chat message")
      this.setState(prevState => ({ open: !prevState.open }))
    }
  }
  componentDidMount() {
        this.socket.onopen = () => this.socket.send(JSON.stringify({type: 'chat message', payload: 'Hello Mr. Server!'}));
        this.socket.onmessage = ({data}) => console.log(data);
    }
  render() {
    return (
      <View>
        <Text>Remote control page</Text>
      </View>
    );
  }
}