[英]How to link a server.js file with a client.js file using socket.io library?
[英]How to get “receiver” socket object in socket.io /lib/client.js file on v > 1.4.0?
我已经在版本1.3.7的node_modules/socket.io/lib/client.js
下的socket.io文件中建立了拦截调用(至少我是这样认为的,但是由于其他要求,我必须更新到1.4.5) 。 这些更改允许欺骗信息来自发送者套接字,并且在继续将数据发送到接收者套接字之前已经完成了这些更改。
之前(大约1.3.7),在发送数据包之前运行的方法如下:
Client.prototype.packet = function(packet, preEncoded, volatile){
var self = this;
var sockets = this.sockets[0]; //this helds the socket object
但是现在(1.4.5)socket.io将其调用更改为以下内容
Client.prototype.packet = function(packet, opts){
var sockets = this.sockets[0]; //gives undefined
我试图查看给定的对象,但找不到接收者用户的套接字。
回到1.3.7,我能够毫不费力地为套接字对象提供属性(例如:socket.some-property = 1;在由nodejs在服务器根目录下运行的.js文件中),后来又可以得到some-property
每当接收者收到一些数据包时, some-property
返回到node_modules / client.js中,这样我可以截获该调用,但是现在它不起作用了,我希望将旧代码应用于此新上下文,以使它们再次起作用。
var socketObject = {};
io.sockets.on('connection', function (client) {
socketObject[client.id] = {socket: client};
client.on('data', function (somedata) {
socketObject[client.id].data = someData;
});
client.on('disconnect', function() {
delete socketObject[client.id];
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.