[英]NodeJS and SocketIO on Server
I have a problem with my NodeJS and SocketIO setup on my server, I want to access the HTTP Port by doing 我的服务器上的NodeJS和SocketIO设置出现问题,我想通过以下方式访问HTTP端口
var socket = io.connect(" http://domain.com:8070 "); var socket = io.connect(“ http://domain.com:8070 ”); Sadly this returns ERR_CONNECTION_TIMED_OUT
可悲的是这返回ERR_CONNECTION_TIMED_OUT
Here is my Server: 这是我的服务器:
var app = require('http').createServer(handler)
, io = require('socket.io').listen(app, { log: false })
, fs = require('fs');
var mysocket = 0;
var socket = 0;
app.listen(8070);
function handler (req, res) {
fs.readFile(__dirname + '/app/tpl/skins/habbo/client.php',
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading index.html');
}
res.writeHead(200);
res.end(data);
});
}
io.sockets.on('connection', function (socket) {
console.log('Client successfully connected');
mysocket = socket;
});
//udp server on 41181
var dgram = require("dgram");
var server = dgram.createSocket("udp4");
server.on("message", function (msg, rinfo) {
console.log("Packet recieved from server: " + msg);
if (mysocket != 0) {
mysocket.emit('field', "" + msg);
mysocket.broadcast.emit('field', "" + msg);
}
});
server.on("listening", function () {
var address = server.address();
console.log("udp server listening " + address.address + ":" + address.port);
});
server.bind(41181);
and my Client: 和我的客户:
<script src="http://domain.com:8070/socket.io/socket.io.js"></script>
<script type="text/javascript">
var socket = io.connect(http://domain.com:8070);
socket.on("hello", function(l){
var k = l.split(/,/);
switch(k){
case "testing":
{
window.alert('lol');
return;
}
}
});
</script>
Any ideas on how I can get it to work on http://domain.com:8070 ? 关于如何在http://domain.com:8070上运行它的任何想法? Thanks.
谢谢。
It looks like your socket is not listening on port 8070. 看来您的套接字未在端口8070上侦听。
Untested, but worth a try : 未经测试,但值得一试:
var io = require('socket.io').listen(app.listen(8070), {log: false});
You can also remove the URL from your client (although it shoudn't change anything) : 您也可以从客户端中删除该URL(尽管不应更改任何内容):
var socket = io.connect();
Edit : 编辑:
You should also wrap the address in quotes : 您还应该将地址用引号引起来:
var socket = io.connect("http://domain.com:8070");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.