javascript Thrift 客户端挂起

2023-12-06

我在 javascript 中有以下 Thrift 客户端代码:

<script language="javascript" type="text/javascript" src="thrift.js" />
<script language="javascript" type="text/javascript" src="QuantSvc_types.js" />
<script language="javascript" type="text/javascript" src="QuantSvc.js" />
<script language="javascript" type="text/javascript">
function calc() {   
    var transport = new Thrift.Transport("http://localhost:9997/QuantSvc/");   
    var protocol  = new Thrift.Protocol(transport);
    var client    = new QuantSvcClient(protocol);

    try {
        result = client.ListAllVariables()   
    } catch(ouch) {     
        alert("An exception occurred!")   
    } 
} 
</script>

当我按下 HTML 页面上的按钮时会触发该事件。然后,我有以下服务器端 Scala 代码,在 localhost:9997 上运行:

object Application extends App {
    val handler = new QuantSvcHandler()
    val processor = new QuantSvc.Processor(handler)
    val serverTransport = new TServerSocket(9997)
    val server = new TThreadPoolServer(new TThreadPoolServer.Args(serverTransport).processor(processor))    
}

QuantSvcHandler 的 ListAllVariables 函数在哪里(基本上是一个骨架函数,只是想让事情正常工作):

override def ListAllVariables(): util.List[Attributes] =
{
  var input = scala.collection.mutable.Buffer[Attributes]()

  input
}

我在 ListAllVariables 的第一行以及 QuantSvcHandler 处理器中的几个位置放置了一个断点。我在 intellij IDEA 中以调试方式运行服务器,在 Chrome 中打开 HTML 页面,然后按下按钮(调用 javascript calc() 函数的按钮)。该按钮保持卡住状态,我在服务器上看不到任何响应,断点没有被击中。

关于我做错了什么有什么想法吗?


您将 HTTP 客户端与套接字服务器混合在一起。

尽管 HTTP 使用套接字,但 Thrift HTTP 传输与 Thrift Sockets 传输不兼容。您需要在两端设置完全相同的协议/传输堆栈。该规则的唯一例外是某些服务器传输隐式需要客户端上的附加帧传输层。

所以解决方案就是使用HTTP服务器。根据您使用的版本,您可能还需要切换到 JSON 协议。

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

javascript Thrift 客户端挂起 的相关文章

  • 我如何能够以两行显示标题,并且每行的字体大小不同?

    我正在使用 Google Chart API 创建时间线图 并希望将图的标题修改为两行 问题 我如何能够显示具有不同字体大小的两线图表标题 电流输出 理想输出 相关研究 我唯一能找到的是有人试图用饼图来做到这一点 但我尝试了但无法使其发挥作
  • 由于 apollo-client 未定义,无法解构 GraphQL 查询?

    我正在寻找调试与错误消息相关的问题 未捕获的类型错误 无法解构 0 apollo client WEBPACK IMPORTED MODULE 4 useQuery 因为它未定义 Context 我正在为我的 React js 项目设置后端
  • Eslint errorring 导入没有扩展名的 jsx

    我正在尝试在 es6 中导入 jsx 文件而不需要 jsx 扩展名 import LoginErrorDialog from LoginErrorDialogView Not import LoginErrorDialog from Log
  • 为什么 iife 在一个简单的例子中不起作用?

    我不明白为什么函数表达式调用不起作用并抛出错误 你能给我解释一下吗 var a function x alert x function a 1 谢谢大家 任务比我想象的要容易得多 这是因为 JS 将 IIFE 解析为函数的参数调用 这样做时
  • Three.js:缩放几何图形后错误的 BoundingBox

    在我的场景中 我有一个简单的立方体 var test new THREE Mesh new THREE CubeGeometry 10 10 10 new THREE MeshBasicMaterial scene add test 该立方
  • Chrome 中的性能问题

    我目前正在从事一个相对较大的项目 使用 AngularJs 构建 应用程序的一部分是一个表单 您可以向其中添加任意数量的页面 不幸的是 添加了很多不必要的垃圾 即表示表单模型的对象可能会变得非常大 在某些时候 Chrome 基本上无法处理它
  • 带有淘汰赛js的隐形recaptcha

    我正在完成隐形验证码 但我在实现它时遇到问题 谷歌开发人员页面中的代码显示它应该是这样的
  • 在打字稿中导入 json

    我是 typescript 的新手 在我的项目中 我们使用 typescript2 在我的要求之一中 我需要导入 json 文件 所以我创建了 d ts 文件如下 test d ts declare module json const va
  • 如何将函数附加到弹出窗口关闭事件(Twitter Bootstrap)

    我做了一些搜索 但我只能认为我可以将事件附加到导致其关闭的按钮 https stackoverflow com questions 13205103 attach event handler to button in twitter boo
  • 如何纠正流警告:解构(缺少注释)

    我正在编写一个小型 React Native 应用程序 并且正在尝试使用 Flow 但我无法在任何地方真正获得有关它的正确教程 我不断收到错误 destructuring Missing annotation 有关 station 这段代码
  • Angular - CSS - 自定义类型=文件输入,如何使用按钮而不是标签?

    我制作了一个类型为 file 的自定义输入字段 因为我不喜欢默认的输入字段 为了实现这一目标 我做了
  • 为什么我们在打字稿中使用 HTMLInputElement ?

    我们为什么使用 document getElementById ipv as HTMLInputElement value 代替 document getElementById ipv value 功能getElementById返回具有类
  • DataTables row.add 到特定索引

    我正在替换这样的行项目 var targetRow entity row dataTable targetRow closest table dataTable DataTable dataTable row targetRow remov
  • 将 UMD Javascript 模块导入浏览器

    你好 我正在对 RxJS 进行一些研究 我可以通过在浏览器中引用它来使用该库 如下所示 它使用全局对象命名空间变量 Rx 导入 我可以制作可观察的东西并做所有有趣的事情 当我将 src 更改为指向最新的 UMD 文件时 一切都会崩溃 如下所
  • 有没有办法在 onclick 触发时禁用 iPad/iPhone 上的闪烁/闪烁?

    所以我有一个有 onclick 事件的区域 在常规浏览器上单击时 它不会显示任何视觉变化 但在 iPad iPhone 上单击时 它会闪烁 闪烁 有什么办法可以阻止它在 iPad iPhone 上执行此操作吗 这是一个与我正在做的类似的示例
  • Vuejs 2:去抖动不适用于手表选项

    当我在 VueJs 中反跳此函数时 如果我提供毫秒数作为原语 它就可以正常工作 但是 如果我将其提供为对 prop 的引用 它会忽略它 这是道具的缩写版本 props debounce type Number default 500 这是不
  • 从数据库检查数据的异步解决方案各种循环子句

    我想要做的是异步检查数据库并从中获取结果 在我的应用程序中我试图实现Asynchronously将此步骤解决为 从数据库中检查手机号码JsonArray循环子句的种类 Create JsonArray从结果 打印创建的数组 我学到了足够多的
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • Three.js 各种大小的粒子

    我是 Three js 的新手 正在尝试找出添加 1000 个粒子的最佳方法 每个粒子都有不同的大小和颜色 每个粒子的纹理是通过绘制画布创建的 通过使用粒子系统 所有粒子都具有相同的颜色和大小 为每个粒子创建一个粒子系统是非常低效的 有没有
  • 对于只触及我的工作表的 Google 表格脚本,收到“此应用程序未经验证”

    我正在编写一个 Google Sheets 脚本 我只想访问与 gs 文件关联的同一电子表格中的数据 似乎我应该有权在自己的电子表格中运行脚本 但是每当我运行一个函数时 我都会得到一个This app isn t verified信息 我该

随机推荐

  • Coldfusion CFPDF 读取二进制数据库列

    cfpdf可以直接读取二进制数据库列吗 我目前在运行查询来获取列的地方拥有它 使用cffile将文件写入目录 然后用 cfpdf 阅读 这样我就可以提取文本 是否可以在不使用 cffile 写入并直接读取二进制文件的情况下执行此操作 如果是
  • php 未找到设置的 cookie

    我已经成功设置了cookiecad并可以在 Firefox cookie 搜索中看到它 if isset COOKIE cad echo YES else echo NO parse NO 我正在托管服务器上设置我的网站 即将从另一个服务器
  • 将 JUnit 5 测试结果与 Intellij 测试报告集成

    我的 build gradle 配置如下 apply plugin java compileTestJava sourceCompatibility 1 8 targetCompatibility 1 8 repositories mave
  • Windows 中 Node.js 中 process.on('SIGINT') 的等价物是什么?

    I m following the guidance here listening for SIGINT events to gracefully shutdown my Windows 8 hosted node js applicati
  • PowerBI 动态时间序列条形图

    在这里补充我之前的问题 时间序列问题 我想在时间序列 其中包含用户设置的日期范围 上绘制单位容量图表 我试图绘制的图表如下 对于每个单元名称 我都有单元容量的开始和结束日期 如下 PowerBI 表所示 4个子问题 如何绘制这些容量随时间变
  • 如何从单一行为中提取价值

    是否有带签名的内置函数 Monad m gt m a gt a Hoogle 说没有这样的功能 你能解释一下为什么吗 一个 monad 只提供两个功能 return Monad m gt a gt m a gt gt Monad m gt
  • 异步ajax请求锁定浏览器

    这是启动一个简单的代码片段异步阿贾克斯请求 请求的处理时间为故意长 10 秒或更长时间 Why 浏览器阻止我的用户点击在异步请求过程中在 href 链接上 已尝试使用 Firefox 和 Chrome The 异步请求通常被调用并且 就绪
  • 如何将Python项目转换为可执行文件

    我有一个 Python 项目 我想将其转换为可执行文件 我已经安装了Pyinstaller 我只知道如何将一个脚本转换为 exe 但我有多个包含多个 python 脚本的包 我成功使用的命令行是 pyinstaller noupx onef
  • 是否可以将 Xamarin ios 应用程序连接到 swift watchOS 扩展

    我已经有一个在 swift 下开发的 WatchOSExtension 是否可以将其连接到新开发的 xamarin ios 项目 不 不可能将 Swift 扩展与 Xamarin 应用程序一起使用 这也适用于任何形式的 iOS 扩展 您将需
  • 按值返回的右值引用参数是 xvalue 吗?

    我的理解是 在下面的函数中 表达式foo在声明中return foo 是一个 xvalue 因为它表示的对象即将过期 即使foo是前面语句中的左值 Foo bar Foo foo change foo return foo 此类到期值不属于
  • 跟进术语,寻找行动项目

    我想编写一个快速脚本来提醒自己将后续操作项目放在各种谷歌文档上 从谷歌驱动器中受益 以便从 API list 中受益 然而 似乎followup actionitems搜索查询不适用于 API 因为搜索词未知 它返回 400 错误 例如 这
  • 尝试 listview.getChildAt() 时出现 java.lang.NullPointerException

    ListView 具有正确的值 public class FragmentTab1 extends SherlockFragment ListView list LazyAdapter adapter Override public voi
  • 获取父 ID 的子页面并显示自定义图像字段以及 WordPress 中页面的链接

    我需要获取子页面列表 但我需要排除第一个子页面 我还需要显示一个名为 page icon 的自定义图像字段 其中包含每个图像的 url 和页面标题 这将充当子菜单 将显示在每个子页面上 每个菜单项都需要将当前类附加到 a 标签 我尝试了多种
  • Accumulo 支持聚合吗?

    我是 Accumulo 的新手 我知道我可以编写 Java 代码来使用 Hadoop 和 MapReduce 扫描 插入 更新和删除数据 我想知道的是 Accumulo 中是否可以进行聚合 我知道在MySql中我们可以使用groupby o
  • Windows 中用于生物识别身份验证的凭据提供程序

    我有一个定制的基于 USB 的指纹识别设备 如何将设备上的指纹与 Windows 计算机的用户关联起来 使用 CredentialProvider 首先 我希望在指纹扫描时自动登录 而不提示输入用户名 密码 我意识到应该有一些注册过程来将指
  • Chome 扩展:将 chrome.storage 数据从后台脚本发送到 popup/contentscript

    如标题中所述 我正在尝试编写一个后台脚本 该脚本将侦听来自 popup js 或 contentscript js 的加载请求 当它接收到负载时 它会获取 chrome storage local 的内容 执行一些数据处理 for 循环 并
  • 如何使用 Pharo 每 60 秒刷新一次会话并将其显示在成绩单上?

    a b a ZnClient new a get http cloud storage com login a formAt username put jom formAt password put mypass post get http
  • 自定义或可重复使用的 HTML 组件

    我们可以在 HTML 中创建自定义或可重用的组件吗 我的页面具有帐户搜索功能 该功能是使用 HTML JS jQuery 代码实现的 我的页面由不同地方的帐户搜索组成 功能同样困难 每次使用时 只有 div 的 ID 会发生变化 那么我们能
  • 控制中心中的“播放/暂停下一个/上一个”按钮显示为灰色

    在我的应用程序中 播放是从控制中心控制的 当在 AVPlayer 中进行播放时 此时播放控件在控制中心工作正常 我正在加载带有其他流 URL 的 Web 视图 一旦流再次完成 我就开始从 AVPlayer 播放 此后 控制中心的播放控件将显
  • javascript Thrift 客户端挂起

    我在 javascript 中有以下 Thrift 客户端代码