我在Azure上創建了一個虛擬機並定義了一個TCP端點。然後我創建了一個Node.js的TCP服務器,如下所示:連接到Azure虛擬機上的Node.js服務器
var net = require('net');
var host = '127.0.0.1';
var port = 8000;
var times = 1;
net.createServer(function (socket) {
console.log('CONNECTED: ' + socket.remoteAddress + ':' + socket.remotePort);
socket.on('data', function (msg) {
console.log("Message received is: " + msg);
if (times == 1)
socket.write("Server says HI");
times++;
executeStatement();
});
socket.on('close', function (data) {
console.log('CLOSED: ' + socket.remoteAddress + ' ' + socket.remotePort);
});
}).listen(port, host);
console.log('System waiting at http://localhost:8000');
我能夠連接到服務器,同時在同一臺主機上,從而在不同的端口兩個應用程序在同一臺機器上可以進行雙向通信。當我嘗試通過公共IP地址和端口號連接到虛擬機時,它失敗。我嘗試在虛擬機上爲私有端口(8000)添加入站防火牆規則,但這也沒有什麼區別。請,有人可以給我一些想法和/或鏈接來幫助解決這個問題。
您是否創建了端點,將某個公共端口(例如8000)映射到內部端口8000? –
嗨大衛。是的,我做到了。我設法解決了這個問題。剛纔發佈答案。 – Vinu