好吧,这里是一个非常简单的例子。 textarea与登录成员同步。
请安装http,socket.io和express(ver3)。
sudo npm install http, socket.io, express
并创建一个JavaScript文件。
server.js
var app = require('express')(),
server = require('http').createServer(app),
io = require('socket.io').listen(server),
member_sockets = {},
key;
server.listen(80);
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
io.sockets.on('connection', function (socket) {
var user_id = socket.id;
member_sockets[user_id] = socket;
console.log("[login]-->", user_id);
socket.on('txt_change', function (data) {
for (key in member_sockets) {
if (key != user_id) {
member_sockets[key].emit("txt_change", data);
}
};
});
socket.on('disconnect', function (socket) {
console.log("[logout]-->", user_id);
delete member_sockets[user_id];
});
});
在同一目录中,你还可以创建一个index.html文件。
的index.html
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('txt_change', function (data) {
console.log(data);
$("#txt").val(data.txt);
});
$(document).ready(function(){
$("#txt").keyup(function(){
socket.emit('txt_change', { "txt" : $(this).val() });
});
});
</script>
</head>
<body>
<textarea id="txt" style="width:200px;height:100px"></textarea>
</body>
</html>
然后用这个命令运行服务器:
sudo node server.js
所以代码应工作像这样的画面:
我没有检查c9.io.我只检查我的Mac。 – wf9a5m75
即时通讯激动地尝试这一点。保持联系。在此先感谢,真的很感谢细目。 – sia
(弓)不能让它在我的本地主机上运行(运行mamp),但我得到它的工作很好c9.io谢谢你! – sia