如何从不同的主机连接到socket.io服务器? [英] How to connect to a socket.io server from different host?
问题描述
我有一个网站说 mydomain / home.php
现在我已经设置了 NodeJs 服务器说 23.23.234.22/home (/ home是获取路线)。我已经编写了 socket.io 服务器
的代码,最后服务器正在运行。
Now I have set up a NodeJs server say at 23.23.234.22/home (/home is a get route). I have written the code for socket.io server and finally server is running.
现在我想编写客户端代码在 home.php 中,这与下面的代码类似。
Now I want to write client side code in home.php which would be similar to the code give below.
我想要的是向 23.23.234.22/home 发送请求,我应该在控制台中看到套接字响应当home.php打开时,浏览器的强大>我希望每次遇到请求时都能正常工作,而不仅仅是在连接服务器的时候。
What I want is to send a request to 23.23.234.22/home and I should see a socket response in console of browser when home.php is open. I want this to work every time I hit a request to it, not only when the server is connected.
我知道,使用这段代码,事情将无法正常工作。我不知道这是多少
。那么我需要进行哪些额外的更改?
I know, with this code things won't work. I don't know how to do this. So what additional changes do I need?
socket.js
socket.js
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.json({type: '*/*'}));
var server = require('http').createServer(app);
app.get('/home', function(req, res){
//WRITE SOCKET SERVER CODE HERE?
});
var io = require('socket.io')(server);
app.use(express.static('/opt/lampp/htdocs/testproject/node_modules'));
app.use(express.static('/opt/lampp/htdocs/testproject/'));
io.on('connection', function(client) {
console.log("connected");
client.emit("message", "Some thing to show");
});
server.listen(8080);
home.php
<html lang="en">
<head>
</head>
<body>
<script src="/socket.io/socket.io.js"></script>
<script>
//CHANGE FOLLOWING ADDRESS?
var socket = io.connect('http://23.23.234.22/home');
socket.on('connect', function(data) {
console.log("Connected...");
});
socket.on("message", function(data){
console.log(data);
});
</script>
</body>
</html>
推荐答案
在home.php中更改
change in home.php
var socket = io.connect('http://23.23.234.22/home');
到
var socket = io.connect('http://23.23.234.22:8080');
这篇关于如何从不同的主机连接到socket.io服务器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!