我正在尝试将作为Azure Web App托管的socket.io服务器与本地计算机上的socket.io-client进行通信。我已在本地网络上的两台计算机之间测试了代码,它工作正常......客户端向服务器发送消息,服务器响应OK。但是,当我使用持续部署加载服务器文件并尝试连接它时,客户端无法连接,我没有得到任何反馈。io.on('error, function(){};
甚至没有触发。
以下是客户端的代码(我刚刚修改了IP地址):
var socket = require('socket.io-client')('http://160.23.1.5:3100');
var readline = require('readline'),
rl = readline.createInterface(process.stdin, process.stdout);
socket.on('connect', function(){
console.log('Connected to Server!');
});
socket.on('error', function(){
console.log('Erorr connecting to server');
});
socket.on('DATA', function (data) {
console.log(data);
/// **** Code for entering client input
});
rl.setPrompt('Server says> : ');
rl.prompt();
rl.on('line', function(line){
socket.emit('RANDOM', {value: line});
rl.prompt();
}).on('close', function(){
console.log('Have a great day!');
process.exit(0);
});
这是服务器代码:
var http = require('http')
var port = process.env.port || 3100;
var app = http.createServer(function(req, res, err) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
if(err)
{
res.writeHead(500);
return res.end('Érror loading server')
}
res.end('Hello World\nActual port is ' + port + '\nEnv port is ' + process.env.port +'\nType of port variable is ' + typeof(port));
}).listen('3100');
var io = require('socket.io').listen(app);
var clientSocket;
io.on('connection', function (socket) {
clientSocket = socket;
console.log('Client connected!');
socket.on('RANDOM', function (data) {
console.log(data);
socket.emit('DATA', { RESPONSE:'OK'});
});
});
我有很多不同的变化,阅读了很多材料,现在我已经没有想法了。有人熟悉这种情况吗?请帮忙。