我是新來socket.io所以我下面這個教程的步驟heresocket.io發出內部socket.on不起作用
我試圖從客戶端發送一個值服務器,然後進行一些計算並將新值發送到客戶端的另一個視圖。這是到目前爲止我的代碼:
server.js
var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
io.on('connection', function(socket){
socket.on('fromClient', function(data){
console.log(data);
//calculations will be here, not relevant
socket.emit('fromServer', data);
});
// socket.send(req.query.gid);
socket.on('disconnect', function() {
});
});
client.js(應該接收 'fromServer' 發射部分,這是一個角控制器)
var socket = io();
socket.on('fromServer', function(data){
console.log(data);
});
我知道'fromClient'端正在工作,因爲它確實打印了數據的值,但它不打印'fromServer'值。我不確定這裏的問題是socket.on中的socket.emit從來沒有被調用(服務器),或者socket.on('fromServer')不工作(客戶端)。
爲了記錄,我做了另一個測試,它確實工作,但它只是與快遞。另一方面,我試圖在我的項目中使用socket.send和socket.eon以外的socket.send和socket.eon,並且它工作,所以我不確定它是否與angular有關,它是io.on( '連接')事件,或者它只是嵌套。