aws ec2インスタンスでソケットに接続しようとしています。何らかの理由で私はそうすることができません。私のクライアント側のコードは次のとおりです。nodejsでawsでSocket.ioが動作しない
var socket = io.connect('http://ec2-MY-IP.us-west-2.compute.amazonaws.com:3000');
console.log(socket);
socket.on('connect', function(){
alert(socket.id); // 'G5p5...
});
socket.on('connect_error', function(){
console.log('Connection Failed');
});
私は常に
私はセキュリティグループのインバウンドセクションからポートを開いていて、私が使用した場合、ブラウザのコンソールで、「接続に失敗しました」を取得:
telnet ec2-MY-IP.us-west-2.compute.amazonaws.com 3000
それは私のサーバー側のコードをここに私の出力
Trying ...
Connected to ec2-MY-IP.us-west-2.compute.amazonaws.com.
Escape character is '^]'.
を与える:
const express = require('express');
const bodyParser= require('body-parser');
const app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
http.listen(3000,() => {
console.log('listening on 3000');
});
MongoClient.connect('mongodb://ec2-MY-IP.us-west-2.compute.amazonaws.com:27017/userlogsdemo', (err, database) => {
if (err) return console.log(err)
db = database;
console.log("DB CONNECTED")
io.on('connection', function (socket) {
console.log("SOCKET CONNECTED")
socketobj = socket
socket.on('reloadtickets', function (data) {
connectedusers.forEach(function(v){
if(v.connecteduserid == data.target){
setTimeout(function() {
io.emit('reloadticketsok',data);
}, 100)
}
});
});
// WHEN SOMEONE IS DISCONNECTED
});
})
「node server.js」を実行すると、「DB CONNECTED」と表示されますが、「SOCKET CONNECTED」は表示されません。 localhost:8080のコード(ローカルマシンでawsにはない)が正しく動作します。 aws Ec2で何か特別なことをする必要がありますか?どんな提案も感謝します。事前に感謝します
をACCEPT -j。解決済み!ありがとう! –