gpt4 book ai didi

javascript - 使用socket.io从另一台服务器接收客户端变量

转载 作者:行者123 更新时间:2023-12-03 11:05:32 24 4
gpt4 key购买 nike

概述

我正在与两个实体合作:(i) IRC Web 应用程序和 (ii) IRC 机器人。有一个机器人变量 botVariable我有兴趣传递给 IRC webapp 客户端。我尝试使用 socket.io这样做并失败了。 对我来说,这个问题的有趣之处在于我试图将值不是从 IRC webapp 服务器传递到 webapp 客户端,而是从 bot 服务器传递到 webapp 客户端。 这是第一个我使用socket.io的时候。机器人和 irc web 应用程序都托管在(不同的)heroku url 上。

机器人代码(服务器端)

对于机器人,我有以下代码:

var botVariable = "bot string"; //botVariable is global.

var io = require('socket.io')(HTTPS);
io.on('connection', function(botVariable) {
//When client connects for the first time, send him the value immediately
socket.emit('new_value', botVariable);
console.log(botVariable);
});

console.log("End of bot file.");

IRC 代码(客户端)

对于 IRC 客户端代码,我有以下内容:

<head>
<script src="https://bot.herokuapp.com/socket.io/socket.io.js"></script>
</head>

<h2 id="bv" align="center"></h2> // where I eventually want to show botVariable

<script>
var socket = io.connect("http://bot.herokuapp.com/"); //this is where I host the bot

socket.on('new_value', function(botVariable) {
console.log(botVariable);
cBotVariable = botVariable; //I'm trying to make cBotVariable a global variable I can refer to on the client side
});

document.getElementById("bv").innerHTML = cBotVariable;
</script>

结果/错误

当我加载网站时,botVariable未能出现。我在控制台中收到以下错误。

> GET http://bot.herokuapp.com/socket.io/socket.io.js 
(index):78

> Uncaught ReferenceError: io is not defined

当我访问 bot.herokuapp.com/socket.io/socket.io.js 时,它显示 Could not find path: /socket.io/socket.io.js .

我的印象是,您实际上并不需要提供此文件,而是服务器以某种方式动态创建它。我想事实并非如此?

最佳答案

尝试安装socket.io

npm install socket.io

并包括它:

<script src="PATH_TO_NODE_MODULES/socket.io/node_modules/socket.io-client/dist/socket.io.js"></script>

或使用 CDN:

<script src="https://cdn.socket.io/socket.io-1.2.1.js"></script>

关于javascript - 使用socket.io从另一台服务器接收客户端变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27875818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com