我有一个小应用程序似乎不起作用。请帮忙。
服务器:
var app = require('express').createServer();
var io = require('socket.io').listen(app);
app.listen(9002);
io.enable('browser client minification');
io.enable('browser client etag');
io.enable('browser client gzip');
io.set('transports', [
'websocket'
, 'flashsocket'
, 'htmlfile'
, 'xhr-polling'
, 'jsonp-polling'
]);
console.log("listening on port 9002");
app.get('/',function(req,res){
res.sendfile('index.html');
});
io.sockets.on('connection',function(socket){
socket.emit('serverevent',{ name: 'server' });
socket.on('firstevent',function(data){
console.log(data);
});
socket.on('disconnect', function () {
console.log("one client disconnected");
});
});
客户端
<html>
<head>
<script type="text/javascript" src="/socket.io/socket.io.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script>
var socket=io.connect('http://localhost:9002');
socket.on('serverevent', function(data){
console.log(data);
alert(data);
socket.emit('firstevent', { name: 'manu mehrotra' });
});
$(function(){
socket.emit('firstevent', { name: 'manu mehrotra' });
});
</script>
</head>
<body>
</body>
</html>
连接时服务器日志或控制台中没有打印任何内容,服务器不会将任何内容返回给客户端以显示在警告框中。
我在亚马逊ec2上运行这些东西。
由于
答案 0 :(得分:2)
也许是因为你在客户端正在监听localhost。