这是我的网络服务器:
var net = require('net');
var server = net.createServer(function(socket) {
socket.write('hello\n');
socket.write('world\n');
//RECEIVE PACKET ON SOCKET
socket.on('data', function(data) {
//socket.write(data);
//console.log(data);
testSocketData(data)
});
});
server.listen(8000);
方法testSocketData(data)
位于文件update_ui.js
中,执行以下操作:
function testSocketData(test) {
$('#p1').text(test)
}
#p1
指的是main.html
中段落元素的ID。我知道我的套接字正在工作,但是我得到了:
ReferenceError: testSocketData is not defined.
如何简单地将从node.js服务器收到的数据传递给我的其他Web应用程序?感谢。
答案 0 :(得分:2)
您必须将该方法(使用socket.on('data'))从服务器移动到客户端。当您通过套接字收到消息时,p1元素也将更新其文本。
在服务器上,您仍需要一个socket.on('data')来接收来自客户端的消息。
修改强> 这是一些代码,稍微改变一下我的评论。 在服务器上:
function computeSomeResults(data) {
// your logic here
}
socket.on('servermsg', function(data) {
var result = computeSomeResults(data);
socket.emit('clientmsg', result);
});
在客户端:
function testSocketData(test) {
$('#p1').text(test);
}
socket.on('clientmsg', function(data) {
testSocketData(data);
// emit something maybe?
}
最终,您可能想要向服务器发送内容:
$('#p1').on('click', function(){
socket.emit('servermsg', $(this).text());
});