【发布时间】:2018-04-23 14:44:58
【问题描述】:
我正在尝试创建一个简单的本地网络服务器,用于从远程服务器收集实时数据。远程服务器不在我的控制之下,它不断地输出文本行。
我认为 scocket.io 可以用于此目的,但我对 node.js 真的很陌生,我不知道问题出在哪里。我已经安装了socket.io:
npm install socket.io
然后我编写了一个简单的 index.html 页面,部署在我的 www 目录中:
<!DOCTYPE html>
<html>
<head>
<script src="socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://192.168.1.100:8888');
socket.on('data', function(msg) {
var val = msg;
$('#data_value').html(val);
})
</script>
</head>
<body>
<h1>Data Stream</h1>
lines: <span id="data_value"></span><br/>
</body>
</html>
当我用浏览器加载 index.html 时,我可以看到带有正确标题和字符串“lines:”的网页,但没有打印出任何数据。
如果我尝试直接浏览http://92.168.1.100:8888 的远程服务器,我可以看到流。
你能帮帮我吗?
【问题讨论】:
-
"如果我尝试直接浏览92.168.1.100:8888 的远程服务器,我可以看到流。"你可以看到蒸汽是什么? HTML、XML、JSON 字符串?如果您可以在浏览器上看到它,我认为这不是 websocket 服务器的端口?
-
好吧,我把192.168.1.100:8888 放在我的浏览器上,我可以看到字符串下来了。我认为它们是 html,但重要的是它们按预期显示。作为第二个测试,我可以使用 socat 收集它们:socat tcp:192.168.1.100:8888 -