提问人:Harshith Ec 080 提问时间:9/12/2023 更新时间:9/12/2023 访问量:16
无法在 ubuntu 中使用 apache 托管节点 js 和套接字 io 聊天应用程序
Unable to host node js and socket io chat application using apache in ubuntu
问:
我想托管我的应用程序。所以我做了我必须做的一切,但我的服务器仍然没有运行。在 vs code 中,它完美运行,首先从实时服务器运行,然后运行节点 js 应用程序,然后你就可以完美运行一个聊天应用程序。当我在 ubuntu 中运行时,它什么也没说,也没有运行。我被困了 4 天,但还没有找到解决方案。
索引 .js
const io = require("socket.io")(8001);
const users = {};
io.on('connection', socket => {
socket.on('new-user-joined', name => {
users[socket.id] = name;
socket.broadcast.emit('user-joined', name);
});
socket.on('send', message => {
socket.broadcast.emit('receive', {message: message, name: users[socket.id]});
});
socket.on('disconnect', message => {
socket.broadcast.emit('left', users[socket.id]);
delete users[socket.id];
})
});
客户端:.js
const socket = io('http://localhost:8001', { transports: ["websocket"] });
const form = document.getElementById('send-container');
const messageInput = document.getElementById('messageInp');
const messageContainer = document.querySelector('.container');
var audio = new Audio('blip.mp3');
const append = (message, position )=> {
const messageElement = document.createElement('div');
messageElement.innerText = message;
messageElement.classList.add('message');
messageElement.classList.add(position);
messageContainer.append(messageElement);
if (position == 'left') {
audio.play();
}
}
form.addEventListener('submit', (e) => {
e.preventDefault();
const message = messageInput.value;
append(`You : ${message}`, 'right');
socket.emit('send', message);
messageInput.value = '';
})
const name = prompt("Enter your name .? ");
socket.emit('new-user-joined', name);
socket.on('user-joined', name => {
append(`${name} joined the chat`, 'right')
});
socket.on('receive', data => {
append(`${data.name}: ${data.message}`, "left")
});
socket.on('left', name => {
append(`${name} left the chat`, "right")
});
索引:.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Chat Application using Node Js and Socket IO</title>
<link rel="stylesheet" href="index.css">
<script defer src="http://localhost:8001/socket.io/socket.io.js"></script>
<script defer src="clients/client.js"></script>
</head>
<body>
<nav>
<img src="logo.jpg" alt="#" id="logo">
<h1>Free To Chat. Free To Leave</h1>
</nav>
<div class="container"></div>
<div class="send">
<form action="#" id="send-container">
<input type="msgInp" id="messageInp">
<button class="btn" type="submit"> Send </button>
</form>
</div>
</body>
</html>
我尝试了很多次,甚至做了一些代理,代理http并启用了所有防火墙,但没有一个有效。
答: 暂无答案
评论