我正在尝试使用套接字将后端(Node.js Server)连接到Frontend(React Native App)。但是问题是代码永远不会进入io.on('Connection',...)。即无法建立插座连接。
任何帮助将不胜感激。
这是客户端代码:
import React, { Component } from 'react';
import {
Alert,
Button,
Text,
View
} from 'react-native';
export default class App extends Component {
constructor(props) {
super(props);
const ws = new WebSocket('ws://localhost:3000');
console.log("This is client side Web socket.")
ws.onopen = () => {
console.log("Its connected")
ws.send('something'); // send a message
};
}
}
这是服务器端代码:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
io.on('connection', function(socket){
console.log('a user connected');
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
安装NPM模块socket.io-client
然后尝试
import React, {
Component
} from 'react';
import {
Alert,
Button,
Text,
View
} from 'react-native';
import SocketIOClient from 'socket.io-client';
export default class App extends Component {
constructor(props) {
super(props);
var ws = SocketIOClient('ws://localhost:3000'); // replace localhost with ip
ws.on('connect', function() {
console.log("hello");
});
}
}