了解了nodejs之后我们来练练手,我们来创建tcp服务端然后用telnet来了试着访问这个服务端。
原理大概就是创建一个tcp的服务端,开启监听,然后利用nodejs提供的事件函数来控制访问行为。
// get net module
var net = require('net');
// create server
var server = net.createServer(function(socket){
socket.on('data',function(data){
socket.write('hello');
});
socket.on('end',function(){
console.log('connection is closed');
});
socket.write('welcome !');
}
);
// open listen
server.listen(8222,function(){
console.log('server bound');
});
上面代码可以看出,引入了net模块。然后通过createServer获得了sever对象,可以利用服务器事件来了监听,这里就使用了socket.on方法中监听data和end事件,data是接收数据,end是关闭连接(客户端)。最后使用server.listen方法开启监听。
这样以后我们在cmd中运行 node tcp.js会看到
然后我使用了linux的telnet来了访问我这个8222端口的监听操作如图:
这里我们连接上了之后,虽然我们没有发送信息,没有触发data事件,但是我们对所有的访问都有一个socket.write(‘welcome !’);方法,所以,这里的welcome!就是连接成功的标志。然后我们随意输出内容,回车如果返回hello就证明触发了data事件。其实你简单的回车一下就可以了也,不用输入内容,这里就直接回车了。
hello已经返回了。我们这样就模拟了一个简单的tcp服务端和客户端的交互。
如果是windows已经安装了telnet的也一样使用