我是node.js/socket的新手。所以我真的不知道我在做什么,但我已经为我的服务器端设置了这个:
var app = require('net')
, fs = require('fs')
var server = app.createServer(function (socket) {
socket.write("Echo serverrn");
socket.pipe(socket);
socket.on('data', function(data) {
console.log(data);
});
});
var io = require('socket.io').listen(server)
server.listen(81);
所以tcp服务器工作时,我使用nc localhost 81并发送它的数据。但是,我不知道如何使用脚本标签从服务器端连接和发送数据到网站上的tcp服务器。那么,连接到tcp服务器并向其发送数据的客户端是什么呢?
谢谢!
新增代码: 服务器:var app = require('net')
, fs = require('fs')
var sockets_list = [];
var server = app.createServer(function (socket) {
sockets_list.push(socket);
socket.write("Echo serverrn");
socket.on('data', function(data) {
console.log(data);
for (var i = 0; i < sockets_list.length; i++) {
sockets_list[i].write(data);
}
});
socket.on('end', function() {
var i = sockets_list.indexOf(socket);
sockets_list.splice(i, 1);
});
});
server.listen(81);
客户:<script type="text/javascript" src="http://localhost:82/socket.io/socket.io.js"> </script>
<script>
var socket = io.connect('http://localhost:81');
socket.on('connect', function () {
socket.send('hi');
});
socket.send('hi1');
socket.emit('hi2');
alert('here');
</script>
事件:
我有一个网页加载,它需要一个套接字和一个nc localhost 81占用另一个套接字。因此nc显示网页发送的所有内容。在我连接网页后,警报('here');执行,nc显示HTTP请求,但是,没有向TCP服务器发送任何其他内容,并且网页处于不断刷新状态。为什么网页从来没有完全加载,"嗨"消息从来没有被发送,什么是http请求到tcp服务器?为什么我的tcp客户端与我的tcp服务器没有失败?
插座。Io的如何使用页面告诉你如何做到这一点。
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost/');
socket.on('connect', function () {
socket.send('hi');
socket.on('message', function (msg) {
// my msg
});
});
</script>