我有一个带有套接字的node.js应用程序。我的目标是让我的网页打开一台机器,并使用相同的网页打开一台单独的机器。当我将文本粘贴到机器1上的页面时,我希望在机器2上自动更新。当我在机器2上粘贴文本时,我希望从机器1中删除之前的文本,并使用机器2中的文本进行更新
目前我的页面在两个单独的浏览器窗口中运行。在机器1中键入“a”,机器2上显示“a”。
在机器1上键入“b”,机器2上显示“ab”。它不断追加!
视频:http://instagram.com/p/jVIgTZE2Ib/
app.js
var express = require('express'),
app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server);
server.listen(3000);
app.get('/', function(req, res){
res.sendfile(__dirname + '/index.html');
});
io.sockets.on('connection', function(socket){
socket.on('send message', function(data){
io.sockets.emit('new message', data);
});
});
的index.html
<textarea id="chat"></textarea>
<!-- <textarea size="35" id="message"></textarea> -->
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
jQuery(function($){
var socket = io.connect();
// var $messageForm = $('#send-message');
// var $messageBox = $('#message');
var $chat = $('#chat');
$chat.keyup(function(e){
// var code = e.keyCode || e.which;
// if(code == 13) { //Enter keycode
e.preventDefault();
socket.emit('send message', $chat.val());
// }
});
socket.on('new message', function(data){
// $chat.val('');
$chat.append(data + "<br/>");
});
});
</script>
答案 0 :(得分:1)
我所要做的就是改变:
socket.on('new message', function(data){
$chat.append(data + "<br/>");
});
到
socket.on('new message', function(data){
$chat.val(data);
});