我正在尝试使用Socket.io创建一个实时网络聊天系统,但我也将它与LAMP堆栈一起使用。目前我只是想让我的HTML页面识别localhost:8888上的连接,但localhost:3000上的服务器端应该是控制台在有人连接时记录下面的内容,但我什么都没得到?
我在服务器端有这个 -
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
http.listen(3000, function(){
console.log('listening on *:3000');
});
这是我的客户方 -
<script src="http://localhost:3000/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('localhost:3000');
socket.on('connection', function(io){
console.log('a user connected');
io.on('disconnect', function(){
console.log('user disconnected');
});
});
</script>
我没有看到任何控制台日志?我称之为错误或
答案 0 :(得分:0)
在名为“connect”的客户端连接事件上。您已将客户端侦听器移动到socke.io中的服务器,但客户端和服务器的事件不同,更多的是:http://socket.io/docs/client-api/
<script src="http://localhost:3000/socket.io/socket.io.js"></script>
<script>
var socket = io('http://localhost:3000');
socket.on('connect', function(){
console.log('a user connected');
});
socket.on('disconnect', function(){
console.log('user disconnected');
});
</script>
答案 1 :(得分:0)
您需要在服务器上安装代码才能侦听连接。
io.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
有关详细信息,请参阅文档http://socket.io/docs/