不得不说nodejs的强大API实现了之前复杂网络编程的简单化。
一下是server端的js程序,实现各个socket连接的轮询。
var net = require('net');
var server = net.createServer();
var sockets = [];
server.on('error', function (err) {
console.log('error occured', err.message);
});
server.on('close',function() {
console.log('server closed');
});
server.on('connection', function (socket) {
sockets.push(socket);
// console.log(socket);
socket.on('data', function (data) {
console.log('got data : ' + data);
sockets.forEach(function (otherSocket) {
if(socket !== otherSocket){
otherSocket.write(data);
};
});
socket.on('close', function(){
console.log('connection closed');
var index = sockets.indexOf(socket);
sockets.splice(index,1);
});
});
});
server.listen(4000);
以下是client端的js程序,可以不使用telnet进行tcp连接。client端也有连接断开重