aml*_*est 0 node.js express socket.io angularjs
我是socket.io的新手,所以我在这里按照本教程的步骤进行操作
我正在尝试从客户端向服务器发送一个值,然后进行一些计算并将新值发送到客户端的另一个视图。到目前为止,这是我的代码:
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 () {
});
});
Run Code Online (Sandbox Code Playgroud)
client.js(应该接收“ fromServer”的部分发出,这是一个角度控制器)
var socket = io();
socket.on('fromServer', function(data){
console.log(data);
});
Run Code Online (Sandbox Code Playgroud)
我知道'fromClient'端正在工作,因为它确实打印了数据的值,但是没有打印'fromServer'的值。我不确定这里的问题是否是从不调用socket.on中的socket.emit(服务器)或socket.on('fromServer')不能正常工作(客户端)。
为了记录,我做了另一个测试,它确实起作用了,但这仅适用于快速表达。另一方面,我尝试在项目中的socket.on之外使用socket.send和socket.emit,并且它可以正常工作,所以我不确定它是否与angular有关,它是io.on( 'connection')事件,或者仅仅是嵌套。
似乎没人愿意回答我的任何问题...
这是socket.emit,看起来它不会将其发送给其他任何人,而是发送给相同的客户端,这就是为什么我能够在测试(具有一个视图)中看到它,但在我的真实项目中却看不到它的原因。
答案是io.sockets.emit(...)
| 归档时间: |
|
| 查看次数: |
882 次 |
| 最近记录: |