我是node.js / socket.io的新手,所以我真的不知道我在做什么,但我的服务器端有这个:
var app = require('net')
, fs = require('fs')
var server = app.createServer(function (socket) {
socket.write("Echo server\r\n");
socket.pipe(socket);
socket.on('data', function(data) {
console.log(data);
});
});
var io = require('socket.io').listen(server)
server.listen(81);
因此,当我使用nc localhost 81并发送数据时,tcp服务器正常工作 . 但是,我不知道如何使用脚本标记从服务器端连接和发送数据到网站上的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 server\r\n");
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显示网页发送的所有内容 . 我连接网页后,提醒('这里');执行并且nc显示http请求,但是,没有其他任何内容发送到tcp服务器,并且网页处于持续刷新状态 . 为什么网页永远不会完全加载,'hi'消息永远不会被发送,以及对tcp服务器的http请求怎么样?为什么我的tcp客户端无法使用我的tcp服务器失败?
1 回答
Socket.io的how to use页面向您展示了如何做到这一点 .