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

2024-04-14

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

现在我已经设置了一个NodeJs服务器说在23.23.234.22/主页(/home 是一个get路线)。我已经写了代码套接字.io服务器 最后服务器正在运行。

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

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

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

套接字.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

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

to

var socket = io.connect('http://23.23.234.22:8080');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从不同的主机连接到socket.io服务器? 的相关文章

随机推荐

  • Angular Animate 幻灯片从右侧翻页并从右侧翻页 (nganimate)

    我正在使用 Angular js 开展一个学校项目 我们还必须在我们的网站中实现一些动画 由于我的网站是主从结构 我想滑动详细信息页面 这是一个单独路由的页面 从右侧滑入 这其实并不是一个问题 但是当我返回 母版 页面时 母版页将从右侧滑入
  • 如何在Java中添加环境变量? [复制]

    这个问题在这里已经有答案了 可能的重复 如何从 Java 设置环境变量 https stackoverflow com questions 318239 how do i set environment variables from jav
  • 无法读取未定义的 extract-text-webpack-plugin 的属性“查询”

    我正在尝试使用 webpack 2 实现 extract text webpack plugin 并且我正在从头开始构建我的 webpack config js 当我想添加插件时 我按照以下说明进行操作npm https www npmjs
  • 如何获取 Angular 2 中当前模块的元数据?

    我想获取当前的元数据NgModule为了得到列表declarations and providers为了填充动态模块 我创建了一个在模态中显示组件的模块 那怎么办呢 您可以使用以下方式访问声明reflect metadata https g
  • couchdb:设计文档中的地图给出了compilation_error

    我在 Debian 测试中使用 Couchdb 1 1 1 我在数据库中有这个设计文档 id design Page rev 9 1944cdebabf20ae569eab7b534b43e67 views all map function
  • 使用特征应用代理

    我想为一个属性编写一个特征 为它提供一个代理 这样我就可以操纵 sees 背后的值 甚至可以为 direct access在一个班级内 这就是我现在所拥有的 但正如您所看到的 实际的 get set 或 store fetch 方法从未被调
  • 带下拉箭头的 GWT 文本框

    我想在文本框中有一个下拉箭头 在我的例子中实际上是 SuggestBox GMail 执行此操作是为了实现高级搜索功能 打开高级搜索对话框 要使该箭头显示在 TextBox 的右侧并可单击 正确的 GWT 布局是什么 看看 GMail 我发
  • 生成验证码图像 PHP

    我想使用 PHP imagettftext 生成验证码图像 以下是我的代码 它给出了一个空图像 我想解决这个问题 我已经测试了代码 但无法找到为什么图像没有显示 尽管我的随机文本被传递给验证码图像生成函数
  • 我可以在不设置内容类型的情况下调用 WCF 服务吗?

    我正在尝试使用 webHttpBinding 将遗留的 REST 普通旧 xml Web 服务替换为 WCF 服务 它必须向后兼容现有客户端 目前不在请求中发送内容类型标头 当我将客户指向我的新 Web 服务时 我收到 HTTP 错误 41
  • 用于嵌入 YouTube 视频的 CSP

    我刚刚开始在 Chrome 上的嵌入式 YouTube 视频中看到这一点 86 0 4240 193 最近更新 这可能就是我看到这个的原因 这些只是 报告 因此视频仍然会显示 但可能会出现数百个错误不对吧 这就是我所看到的 Report O
  • 在数据帧 R 中解除数据帧的嵌套

    我想解除这个数据框的嵌套 df lt tibble bears c 1 2 3 eagles tibble talons c 2 3 4 beaks c x y z 所以它看起来像 tibble bears c 1 2 3 talons c
  • 如何将 Flutter TextField 与 Firestore 字段同步?

    I have taskFirestore 中的文档 其中有todo场 以及TextField在 Flutter 用户界面中 请指教如何制作textfield与同步todo场 即 任何时间 在textfield随着用户的输入而改变 更新tod
  • 当出站 TCP 端口耗尽时,消费计划中的 Azure Functions 会如何表现?端口限制是多少?

    我正在考虑使用消费计划上的 Azure Functions 作为在应用服务计划上的 Azure WebJobs 上实施某些内容的替代方案 最近 在使用 WebJobs 时 我们在监控和识别导致应用服务计划实例上 TCP 端口耗尽的应用程序时
  • JavaScript 闭包语法

    这些结构之间有什么区别 优点 缺点 如果有 new function obj console log obj extObj vs function obj console log obj extObj 第一个返回对匿名构造函数的新构造实例的
  • Pgsql 错误:您可能需要添加显式类型转换

    我的网站工作正常 直到我将其部署到heroku 问题是heroku 使用pgsql 而我使用mysql 和laravel 框架 我的查询是 patient Patient where patient address ILIKE reques
  • 如何检测Bootstrap模态关闭方式

    我正在将处理程序附加到 Bootstraphidden bs modal事件来检测模式何时关闭 但可以通过多种方式关闭 通过显式关闭它 modal modal hide or modal modal toggle 单击模态框的背景部分 如果
  • IE7/IE8/FF3+ 的 HTML 输出建议使用什么 DOCTYPE?如何在 Visual Studio 中更新 HTML 验证以反映该更改?

    我注意到 Visual Studio 将 DOCTYPE 默认为 XHTML 1 0 Transitional 这看起来不错 但我认为这更像是 第六代 浏览器的标准 我们现在使用的是第 7 代和第 8 代浏览器 我想知道应该在 HTML 中
  • touchmove 的工作方式与 mousemove 不同

    如果有三个并排的div div1 div2 div3 如果我在 div1 上执行 mousedown 然后将鼠标移动到 div2 上 则 div2 mousemove 将被触发 目标为 div2 但在移动设备中 如果在 div1 上执行相同
  • 如何配置 VSCode 在多行注释上自动插入注释字符

    有没有办法配置 VSCode 以便我可以编写多行注释 在 Rust 中 注释开头为 or 如果我写这样的评论 那么当我按 Enter 键时编辑器会自动插入就好了 在新行的开头 2020 年更新 rust analyzer现在延期支持按 En
  • 如何从不同的主机连接到socket.io服务器?

    我有一个网站说mydomain home php 现在我已经设置了一个NodeJs服务器说在23 23 234 22 主页 home 是一个get路线 我已经写了代码套接字 io服务器 最后服务器正在运行 现在我想编写客户端代码home p