我使用aws实例并使用腻子进行部署。aws_ip:port上的每件事都运行良好,在此我创建了一个在不同端口上运行的聊天引擎。这是使用webSocket创建的。浏览器上的url一切正常,但websocket无法正常工作。 8000是主服务器的端口,5000是用于聊天引擎的端口。它在控制台中提供了错误:“ GET http://192.165.11.12:8000/undefined net :: ERR_ABORTED 404(未找到) “”
我将本地主机更改为
this.socket = io.connect('http://192.165.11.12:5000');
class ChatEngine{
constructor(chatBoxId, userEmail){
this.chatBox = $(`#${chatBoxId}`);
this.userEmail = userEmail;
this.socket = io.connect('http://192.165.11.12:5000');
if (this.userEmail){
this.connectionHandler();
}
}
connectionHandler(){
let self = this;
this.socket.on('connect', function(){
console.log('connection established using sockets...!');
self.socket.emit('join_room', {
user_email: self.userEmail,
chatroom: 'codeial'
});
self.socket.on('user_joined', function(data){
console.log('a user joined!', data);
})
});
// CHANGE :: send a message on clicking the send message button
$('#send-message').click(function(){
let msg = $('#chat-message-input').val();
if (msg != ''){
self.socket.emit('send_message', {
message: msg,
user_email: self.userEmail,
chatroom: 'codeial'
});
}
});
self.socket.on('receive_message', function(data){
console.log('message received', data.message);
let newMessage = $('<li>');
let messageType = 'other-message';
if (data.user_email == self.userEmail){
messageType = 'self-message';
}
newMessage.append($('<span>', {
'html': data.message
}));
newMessage.append($('<sub>', {
'html': data.user_email
}));
newMessage.addClass(messageType);
$('#chat-messages-list').append(newMessage);
})
}
}
expected:应使用套接字建立连接。 与登录用户。