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); //启动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;
};
上面是我目前的结构,希望在users里面的逻辑里触发emit方法,google了很多,也没有找到有什么办法可以将参数socket传递出去,不然的话所有逻辑只要涉及到socket.emit的都要写在connection的回调里..
黄舟2017-04-17 16:11:00
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写业务逻辑
大家讲道理2017-04-17 16:11:00
我也觉得外部调用socket
没什么意义。。
而且express
和socket
两者走的协议都不一样,
你可以把user
的身份信息保存在 局部变量socket
的作用域内
通过标识信息来执行相应用户的操作
巴扎黑2017-04-17 16:11:00
<table width="160" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="165" height="32"><img src="images/tell_top.gif" width="165" height="32" border="0"></td>
</tr>
<tr>
<td height="52" background="images/tell_center.gif">
<?php
include_once("function.php");
$news="明日编程词典上市了!";
$i=1;
do{
?>
<table with="148" height="25" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="17" height="20"><img src="images/mark_0.gif" width="0" 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 height="5" background="images/back_point_write.gif"></td>
</tr>
</table>
<?php
$i++;
}while($i<=5);
?>
</td>
</tr>
<tr>
<td width="165" height="12"><img src="images/tell_bottom.gif" width="165" height="12"></td>
</tr>
</table>