javascript - 如何从不同的主机连接到 socket.io 服务器?

标签 javascript php node.js sockets socket.io

我有一个网站说 mydomain/home.php

现在我已经在 23.23.234.22/home 设置了一个 NodeJs 服务器(/home 是一个 get 路由)。我已经为 socket.io 服务器编写了代码 最后服务器正在运行。

现在我想在 home.php 中编写客户端代码,类似于下面给出的代码。

我想要的是向 23.23.234.22/home 发送请求,当 home.php 打开时,我应该在浏览器的 console 中看到套接字响应。我希望它在每次我向它发出请求时都能正常工作,而不仅仅是在连接服务器时。

我知道,使用这段代码是行不通的。我不知道怎么办 去做这个。那么我还需要哪些额外的改变?

套接字

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);

主页.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

var socket = io.connect('http://23.23.234.22/home');

var socket = io.connect('http://23.23.234.22:8080');

关于javascript - 如何从不同的主机连接到 socket.io 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42575953/

相关文章:

php - 关于框架的一般问题

php - fopen(/vendor/dompdf/dompdf/lib/fonts/glyphicons-halflings-normal_c47afe5539ba1b2094563d54dce2def7.ufm) : failed to open stream: Permission denied

php - MySQL WHERE LIKE 无法使用 php 和 pdo bind 处理多个字段

javascript - socket.io 可以处理多少事件?

javascript - 如何从 Beautiful Soup 获取 URL?

javascript - React with Redux Warning : Failed propType: Required prop `posts` was not specified in `Posts` . 检查 `PostsContainer`的render方法

javascript - Angular:没有 Http 的提供者

php - 提交搜索表单,但也有 PHP(和 JS)中的查询字符串

java - 网络服务器的实现

node.js - "readable"事件发生两次