嘗試使用socket.io客戶端與react-native(現在的ios),到目前爲止從客戶端連接/接收服務器端事件似乎工作正常。但是,我似乎無法從客戶端發出任何事件?反應原生套接字io沒有事件從客戶端發出
客戶
var socket = io("http://localhost:3000");
socket.on('connect', function(){
socket.on('ping', function(e) {
console.log('Server emitted ping: ' + e);
socket.emit('pong', 'hi server!');
});
socket.on('disconnect', function(){
console.log("disconnect");
});
});
服務器(Node.js的)
var io = require('socket.io')(server);
io.on('connection', function (socket) {
console.log('connected...');
socket.on('pong', function (data) {
console.log("Hmm?");
console.log(data);
});
setTimeout(function() {
console.log("Saying hello");
socket.emit('ping', { message: 'Hello from server ' + Date.now() });
}, 1000);
});
所以,從服務器端,我看到日誌
connected...
Saying hello
並在客戶端我看到「服務器發射乒...「,但乒乓事件似乎沒有做任何事情?我嘗試通過StackOverflow中提到的解決方案捕獲服務器上的所有事件,但看起來沒有事件來自客戶端。有任何想法嗎?
使用最新的RN版本0.31。
也看到這個錯誤,當我第一次運行在Xcode的應用程序,它可能是這個原因?:
[warn][tid:main][RCTEventEmitter.m:52] Sending `websocketFailed` with no listeners registered.
你嘗試過發光外socket.on? –
我有。它似乎並沒有發射任何東西... – tetutato
試試我在服務器上的回答 –