我使用socket.io在现有的express应用程序中添加了一个聊天页面。我的服务器代码:
var io = socket(server);
io.on('connection', (socket) => {
console.log('made socket connection', socket.id);
// Handle chat event
socket.on('chat', function(data){
console.log("second");
io.sockets.emit('chat', data);
});
});
和我的客户端代码:
var socket = io.connect("http://localhost:3000/chat")
//Query elements
var message = document.getElementById('message'),
btn = document.getElementById('send'),
output = document.getElementById('output');
btn.addEventListener("click", function(){
socket.emit('chat', {
message: message.value,
});
console.log("First")
message.value = "";
})
socket.on('chat', function(data){
console.log("final function")
output.innerHTML += `<p>${data.message}</p>`;
});
socket.emit在客户端单击时激发,但服务器中的socket.on不运行。注意:console.log('made socket connection',socket.id);正常运行
您的客户端存在问题。您正在尝试连接命名空间“聊天”,删除聊天
var socket = io.connect("http://localhost:3000")