我是NodeJS的新手,我刚刚开始使用Express和Socket.io创建一个简单的聊天应用程序,但是“消息”发出部分不起作用(socket.on('connect')起作用!)。警报“确定”可以正常工作,但console.log没有任何作用。
这是我的代码:
App.js
li
Index.html
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server);
app.get('/', function(req, res,next) {
res.sendFile(__dirname + '/index.html');
});
app.get('/test', function(req, res,next) {
res.render('HALLO ');
});
server.listen(4200);
io.on('connection', function(client) {
// var address = io.handshake.address;
console.log('Ein neuer Client hat sich zum Chat verbunden! IP: ')
});
io.on('sendmsg', function(data) {
console.log(data);
});
答案 0 :(得分:3)
您聆听单个./prod/js/main.js,
./prod/js/main2.js
// so on
。将您的听众从socket
移到io
client
答案 1 :(得分:1)
您应该像这样在connection
函数中移动处理程序:
io.on('connection', function(client) {
// var address = io.handshake.address;
console.log('Ein neuer Client hat sich zum Chat verbunden! IP: ');
client.on('sendmsg', function(data) { // Move this part inside the connection function
console.log(data);
});
});
答案 2 :(得分:0)
该事件在服务器上的套接字(client
)上触发:
io.on('connection', function(client) {
// var address = io.handshake.address;
console.log('Ein neuer Client hat sich zum Chat verbunden! IP: ');
client.on("sendmsg", console.log);
});
答案 3 :(得分:0)
尝试这样做。
io.on('connection', function(client) {
console.log('Ein neuer Client hat sich zum Chat verbunden! IP: ')
client.on('sendmsg', function(data) {
console.log(data);
});
});