我正在node.js中为Windows Azure项目实现socket.io.我必须定期向所有连接的客户端发送数据.
我是node.js的新手,但我想多线程是不可能的.socket.io的目的是支持实时应用程序,所以有没有什么方法可以定期向所有连接的客户端发送数据,还可以同时处理客户端发送到socket.io服务器的任何数据?
编辑:
这大致是我的socket.io实现
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
socket.emit('first', "connected");
socket.on('clientData', function (data) {
//processing the data
});
});
function requestQueue() {
// some processing
io.sockets.emit('broadcast', recordsQueue);
// should go to sleep for a time period
}
Run Code Online (Sandbox Code Playgroud)
本质上,我希望requestQueue方法像线程一样连续运行,该线程将以特定间隔向连接的客户端发送数据.而且如果客户端向"clientData"事件发送任何数据,那么我应该能够接收数据并对其进行处理.
关于我怎么做的任何想法?
谢谢
我的解决方案
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
socket.emit('first', "connected");
socket.on('clientData', function (data) {
//processing the data
});
});
function requestQueue() {
var sleepTime = 0;
// calcuate sleepTime
io.sockets.emit('broadcast', recordsQueue);
// should go …
Run Code Online (Sandbox Code Playgroud) 使用 Python 记录变量的推荐方法logging
是什么,为什么更好?
旧式插值:
apple = "green"
logger.debug("apple is %s", apple)
Run Code Online (Sandbox Code Playgroud)
或者
新风格 .format()
logger.debug("apple is {}".format(apple))
Run Code Online (Sandbox Code Playgroud)
我听说插值是首选的,因为它只评估要打印的字符串,但我还没有验证它是否真的很重要。
我试图在悬停时更改按钮内的文本颜色.
我可以让按钮本身改变颜色,但我希望按钮文本也改变颜色.
这是我目前的css:
button,
input.button,
a.button,
input[type="submit"] {
background:#2e77ae;
background: -moz-linear-gradient(top, #5590bd, #2e77ae);
background: -webkit-linear-gradient(top, #5590bd, #2e77ae);
background: -o-linear-gradient(top, #5590bd, #2e77ae);
background: -ms-linear-gradient(top, #5590bd, #2e77ae);
background: linear-gradient(top, #5590bd, #2e77ae);
border-color:#2e77ae;}
button:hover,
input.button:hover,
a.button:hover,
input[type="submit"]:hover{
background:#E6D332;
background: -moz-linear-gradient(top, #E6D332, #E6D332);
background: -webkit-linear-gradient(top, #E6D332, #E6D332);
background: -ms-linear-gradient(top, #E6D332, #E6D332);
background: linear-gradient(top, #E6D332, #E6D332);
border-color:#2e77ae;}
button:focus,
input.button:focus,
a.button:focus,
input[type="submit"]:focus {
background-color:#E6D332;}
Run Code Online (Sandbox Code Playgroud) 如果你需要在Ubuntu服务器(在我的情况下为12.04)的游戏过程中重新启动网络,你不能使用service
:
# service networking restart
stop: Job failed while stopping
start: Job is already running: networking
Run Code Online (Sandbox Code Playgroud)
以下适用于命令行,但使用Ansible(1.8.4)它会将您锁定:
command: ifdown eth0 && ifup eth0
Run Code Online (Sandbox Code Playgroud)
ifdown
取下界面,但ifup
不运行
如何重启界面?
ansible ×1
azure ×1
colors ×1
css ×1
hover ×1
javascript ×1
logging ×1
networking ×1
node.js ×1
python ×1
socket.io ×1
text ×1
ubuntu ×1
ubuntu-12.04 ×1