我是socket.io的新手,我将它与react和react native一起使用。在我的场景中,服务器发出“ incomingBooking”事件。因此,客户需要捕获此事件并在控制台中打印“预订详细信息”。
我尝试如下,但是对我来说不起作用。
export default class App extends Component<Props> {
componentDidMount () {
const socket = io.connect("http://localhost:3000/riders");
const username = "pawan@gmail.com";
const data = {
username: username,
room: username,
location: {
latitude: 6.8741,
longitude: 79.8605,
}
}
socket.emit('joinRoom', {room: username});
socket.emit('updateLocation', data);
socket.on('incomingBooking', function (details) {
console.log('Booking!!!', details);
});
console.log("Done")
}
render() {
return (
<Drawer/>
);
}
}
答案 0 :(得分:0)
您能描述一下如何从服务器发送信息吗?
此示例应该可以正常工作:
//server.js
const io=require('socket.io')();
io.on('connect',(socket)=>{
console.log('socket connected');
socket.on('updateLocation',(msg)=>{
console.log('updateLocation request');
socket.emit('incomingBooking',{
test:'data'
})
})
})
io.listen(3000)
请注意:在客户端使用socket.on('eventName')
时,必须在服务器端使用socket.emit('eventName')
,socket.send('something')
无效。