直接上代码
var server = http.listen(8888,function () {
var host = server.address().address
var port = server.address().port
console.log("welcome to http://%s:%s", host, port)
});
//连接到C服务器DataPort端口
function connectDPort(DataPort,IPaddr){
nodeServer.connect(DataPort, IPaddr, function() {
console.log('CONNECTED TO:',IPaddr,DataPort);
});
nodeServer.on('error',function(err){
console.error(err);
nodeServer.end();
})
};
//连接到C服务器CmdPort端口
function connectCPort(CmdPort,IPaddr){
client.connect(CmdPort, IPaddr, function() {
console.log('CONNECTED TO:',IPaddr,CmdPort);
});
}
// 同客户端建立连接
io.sockets.on('connection', function (socketIO) {
aSocket=socketIO;
// 测试用,连接成功
socketIO.emit("test","your websocket has connected");
//返回数据使用,控制C服务器
socketIO.on('fromWebClient', function (webClientData) {
console.log(webClientData);
var head=new Buffer([0xAA,0x01,0x11,0x11,0x11,0x11]);
var cmdData=new Buffer(webClientData);
var cmdControl=Buffer.concat([head,cmdData]);
console.log(cmdControl);
client.write(cmdControl);
});
socketIO.on('fromCmd',function(CmdData){
newIPaddr=CmdData.IPaddr;
newCmdPort=parseFloat(CmdData.CmdPort);
newDataPort=parseFloat(CmdData.DataPort);
console.log(newIPaddr);
console.log(newCmdPort);
console.log(newDataPort);
connectDPort(newDataPort,newIPaddr);
connectCPort(newCmdPort,newIPaddr);
})
});
代码有点长,截取的关键的部分,是这样,我想实现能够自由改ip和端口号。
io那里用了个socket.io,然后接收到网页发来的数据,连接端口。
但是现在就是直接ETIMEDOUT,应该怎么修改?