在站外如何发起socket请求
发布于 2年前 作者 dreamz 1002 次浏览

有两个站:A和B 站B使用express和socket.io做的 我在站A通过js方式向站B发请求,请求如下格式:127.0.0.1:3000/?message=******** 那如何将message信息推送到站B的客户端呢。

3 回复

B站Server端和client端正常建立socket连接。 捕获A发来的消息并且广播。 大概应该就是这个流程吧。不知道对不对。

下面代码未测试:

(B)app.js

var servSocket; // 捕获A发送来的消息并广播 app.get('/’, function(req, res){ var msg = req.query.message; servSocket.emit("news", {message: msg }); servSocket.broadcast.emit("news", {message: msg}); }); // 保存B的server和client的socket连接 io.sockets.on('connection’, function (socket) { servSocket = socket; … … }

哥们不行啊,你这样广播不出去啊,因为你发的这个请求和socket没有通信啊

这个容易,站A的请求进入站B时,直接使用站B的sio就好了(sio = socketio.listen(server))

得到了sio,想干嘛就干嘛咯。。。

至于如何获取站B的sio,listen server后,作为参数传递给路由

回到顶部