如何从不同的主机连接到socket.io服务器? [英] How to connect to a socket.io server from different host?

查看:85
本文介绍了如何从不同的主机连接到socket.io服务器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个网站说 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 发送请求,我应该在控制台中看到套接字响应我希望每次遇到请求时都能正常工作,而不仅仅是在连接服务器的时候。

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆