html5 - express4 + socket.io 如何在connection的回調(diào)外邊使用socket.emit方法
問(wèn)題描述
app.js
var sockect = require(’./socket/server’) var users = require(’../router/users’)app.use(’/users’, users); //路由var server = app.listen(9000, function () {console.log(’server start’); });sockect(server); //啟動(dòng)socket
server.js
’use strict’;module.exports = function(server) { var io = require(’socket.io’).listen(server); io.sockets.on(’connection’, function (socket) {//如何將這里的socket暴露給其他地方的js方法里使用socket.emit ? }); return io;};
上面是我目前的結(jié)構(gòu),希望在users里面的邏輯里觸發(fā)emit方法,google了很多,也沒(méi)有找到有什么辦法可以將參數(shù)socket傳遞出去,不然的話所有邏輯只要涉及到socket.emit的都要寫在connection的回調(diào)里..
問(wèn)題解答
回答1:server.js文件中:
var users = require(’../router/users’)module.exports = function(server) { var io = require(’socket.io’).listen(server); io.sockets.on(’connection’, function (socket) {//如何將這里的socket暴露給其他地方的js方法里使用socket.emit ?users.doSomething(socket); }); return io;};
然后在users.js寫業(yè)務(wù)邏輯
回答2:我也遇到這個(gè)問(wèn)題,求解
回答3:我也覺(jué)得外部調(diào)用socket沒(méi)什么意義。。而且express和socket兩者走的協(xié)議都不一樣,你可以把user的身份信息保存在 局部變量socket的作用域內(nèi)通過(guò)標(biāo)識(shí)信息來(lái)執(zhí)行相應(yīng)用戶的操作
回答4:同求解,怎么把那個(gè)socket對(duì)象暴露出去????
回答5:<table border='0' cellpadding='0' cellspacing='0'><tr> <td height='32'><img src='http://www.gepszalag.com/wenda/images/tell_top.gif' border='0'></td> </tr> <tr> <td background='images/tell_center.gif'> <?php include_once('function.php'); $news='明日編程詞典上市了!'; $i=1; do{ ?> <table with='148' border='0' cellpadding='0' cellspacing='0'> <tr> <td height='20'><img src='http://www.gepszalag.com/wenda/images/mark_0.gif' height='10'></td> <td width='333'> <?php echo chinesesubstr($news, 0, 18); if(strlen($nes)>18){ echo '...'; } ?> </td> </tr><tr> <td height='5'></td> <td background='images/back_point_write.gif'></td></tr> </table><?php$i++;}while($i<=5);?></td> </tr> <tr> <td height='12'><img src='http://www.gepszalag.com/wenda/images/tell_bottom.gif' height='12'></td> </tr> </table>
相關(guān)文章:
1. 如何解決Centos下Docker服務(wù)啟動(dòng)無(wú)響應(yīng),且輸入docker命令無(wú)響應(yīng)?2. 我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?3. 微信小程序session無(wú)法緩存的問(wèn)題4. 怎么用 css3實(shí)現(xiàn)波浪底紋效果?5. vue.js - 關(guān)于Vue-cli項(xiàng)目在VPS中用Nginx部署完請(qǐng)求頁(yè)面app.js找不到提示404錯(cuò)誤。6. docker 17.03 怎么配置 registry mirror ?7. html - 這種錯(cuò)位的時(shí)間軸怎么布局,然后用css實(shí)現(xiàn)?8. 基于Nginx的Wordpress安裝失敗?9. css3 - 何時(shí)需要 flex-basis: 100% ?10. mysqld無(wú)法關(guān)閉
