2016-03-15 59 views
0

我正尝试使用Socket.io创建一个实时网络聊天系统,但是我还将它与LAMP堆栈一起使用。目前我只是试图让我的HTML页面识别本地主机上的连接:8888,但localhost:3000上的服务器端应该是连接时记录下面的控制台,但我什么都没有收到?NodeJS套接字连接无法正常工作

我有这个在我的服务器端 -

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

在客户端连接事件称为'连接'。您移动客户端侦听器,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> 
+0

我不明白..? – Kieron606

+0

我已经添加了一些有效的代码。服务器和客户端的API不同。请小心,并通过API文档检查它在socket.io –

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/

+0

这没有奏效,不明白我在做什么错 – Kieron606

+0

当你通过输入节点app.js或任何你的文件被称为运行应用程序是否给予你有错误还是打印出“在*:3000上聆听”? –

+0

它打印“聆听*:3000” – Kieron606