我知道这最近一直是一个反复出现的问题,但尽管我尽力阅读,但我无法解决这个简单的问题:
我过度简化的套接字服务器:
var socket = require('socket.io').listen(7000);
socket.on('connection', function(client){
client.on('message', function(msg){
socket.broadcast(msg);
})
});
node socket.js
输出:socket.io started
http://localhost:7000
输出:'欢迎使用socket.io'
Index.html(简化):
<html>
<head>
<script src="http://localhost:7000/socket.io/socket.io.js"></script>
<script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
<script>
var name = '';
var socket = io.connect('http://localhost:7000');
$(document).ready(function(){
$("button").click(function(){
$("p#log").html('sent message: ' + $("input#msg").val());
socket.emit('message', $("input#msg").val() );
$("p#data_received").append("<br />\r\n"+ $("input#msg").val());
$("input#msg").val('');
});
});
socket.on('chat', function (data) {
console.log(data);
});
</script>
</head>
<body>
<input type="text" id="msg"></input><button>send</button>
<p id="log"></p>
<p id="data_received"></p>
</body>
</html>
页面在Apache服务器上正确显示。但无论我怎么做,我都会得到以下信息:
GET http://localhost:7000/socket.io/socket.io.js net::ERR_CONNECTION_REFUSED
我尝试过使用完整的url(node_modules / socket.io /.../ dist / socket.io.js),但没有工作。 有什么想法吗?我不是在考虑像apache配置这样的东西吗?我正在考虑将整个页面移动到节点服务器,但问题仍然是我...
答案 0 :(得分:1)
只需将localhost更改为我的域名即可解决问题。这不是我第一次遇到“localhost&#39;在EC2上。