这几天在做计算机网络课程设计需要为ATM机做个基于TCP的应用层协议报文。
然后我考虑用Node.js构建TCP服务器,但是在书上或网上看的构建TCP服务器
的代码基本上全部都是测试的本地连接,例如写的客户端测试代码如下
var net = require('net');
var client = new net.Socket();
client.connect(3000,'127.0.0.1',function(){
console.log('connect success!!!')
});
client.on('error',function(error){
console.log(error);
})
确实这样没问题,可以与本机进行连接,但是如果我将ip改成同学的计算机的ip,然后他的服务端代码如下
// 引入网络模块
var net = require('net');
var host = '0.0.0.0'
// 创建TCP服务器
var ATMServer = net.createServer(function(socket){
console.log('someone connects');
console.log('本机ip:'+socket.localAddress);
console.log('远程ip:'+socket.remoteAddress);
});
// 监听客户端连接
ATMServer.listen(3000);
ATMServer.on('listening',function(){
console.log('server is listening');
});
// 监听地址
var addr = ATMServer.address();
console.log(addr);
此时再进行连接会没反应,过了一会儿会打印错误信息,难道Node.js的TCP服务器仅限于本地连接吗,那这样又有什么意义呢?
求大佬赐教