问题标签 [ace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1567 浏览

c++ - Proactor 和异步写入

Boost asio实现了基于ACE proactor的 proactor 设计模式。

我理解为什么我们需要异步读取。但是,我对异步写入感到困惑。

  1. 为什么我们需要异步写入?它对 TCP/UDP 连接也有用吗(可以写入 TCP/UDP 套接字需要时间)吗?
  2. 我可以将异步读取与同步写入混合使用吗?
0 投票
1 回答
80 浏览

c++ - 使用 ACE 在控制台中显示我的数据包时出现问题

出于调试原因,我想在控制台中显示我的传出数据包。顺便说一句,数据包正确到达服务器。但是,如果我希望它们在发送前在控制台中显示,那么它什么也没有显示:

有人有想法吗?

0 投票
5 回答
4520 浏览

c++ - c++网络序列化

我正在寻找一种将 C++ 数据包序列化为网络流的解决方案。

我在这里看到很多帖子提到人们:

  1. 高手

  2. Google 协议缓冲区

  3. Boost::序列化

  4. Qt ::QDataStream

我的要求/限制:

  1. 解决方案必须不知道 LitteEndian/BigEndian。机器架构 x86/x64 和平台无关。

  2. 前 3 个解决方案的占用空间(RAM 和 ROM)对于我的平台来说太大了,第四个与下一个要求相冲突。

  3. 该解决方案不需要大量样板代码(将有 200 多个数据包要序列化)。

谢谢,科比·梅尔

0 投票
1 回答
351 浏览

c++ - 如何用 ACE_Reactor 替换 WT 的主循环

我们有一个项目,其核心功能使用 ACE 实现,并围绕它的 Reactor 构建。我们想使用 Wt 添加一个小型 Web 界面。

那么问题来了,能不能把wt接口的主循环换成ace反应器呢?

我想到的唯一坏主意是在 Reactor 端有一个快速计时器,它以某种方式调用 wt 部分。反过来,反应器可以使用它的 handle_events 方法“逐个滴答”运行,但我在 wt 端找不到等效项。

注意:这个问题背后的主要问题是关于线程。我们没有线程,代码不是线程安全的,如果 HMI 可以与应用程序的其余部分运行在同一个线程上,对我们来说会简单很多。但是有 2 个阻塞调用,一个对 theReactor->run_reactor_event_loop(),另一个对 Wt::WRun() 是一个问题!

0 投票
1 回答
140 浏览

c++ - 在 C++ 中使用 ACE 获取命令的返回值

我需要在 Linux 上从 c++ 进程中运行 shell 命令并获取它的返回值。有没有办法用 ACE 做到这一点?我知道在 c++ 中我可以使用 popen。我正在寻找 ACE 解决方案。

0 投票
1 回答
860 浏览

sockets - ACE 接受器 - My_Svc_Handler 类

我正在使用 ace 接受器来监听 TCP 端口。我的类继承自 My_Svc_Handler 并隐含了 My_Svc_Handler 类的函数 int open (void *)。在我看到的所有示例中,在 open 函数中,它们注册了反应器:

我不明白为什么我们需要注册?我已经有一个反应堆在等待一个事件。这是我在 main 中定义的:

我想我不明白什么时候调用 open 函数。

我对这种方式还有另一个问题。是否有另一种方式不运行 while(1) ?

0 投票
1 回答
1273 浏览

c++ - 如何停止监听端口

我有一个用 c++ 编写的 linux 应用程序。应用程序侦听某个端口上的套接字。我使用 ACE Acceptor 实现了这一点。此外,应用程序使用初始化脚本 /etc/init.d/postgresql start 通过调用 ACE_OS::system 函数来启动 postgresql 数据库。

我遇到的问题是:当应用程序退出时,端口仍然被占用。当我运行 netstat 时,我看到 postgres 正在侦听该端口。(只有当我从任何给定端口上的应用程序启动 postgres 时才会发生这种情况)。

有没有办法关闭端口?为什么 postgres 监听那个端口?

0 投票
1 回答
136 浏览

ace - 如何在给定的文件描述符上注册反应器?

我有一个文件描述符,我希望 ace reactor 在其上注册,并在更改时通知我。如何在给定的文件描述符上注册反应器?

0 投票
3 回答
4912 浏览

c++ - ACE(C++ 库)是否仍用于高性能计算?

对高频交易/高性能计算感兴趣,我遇到了“ACE”:

http://www.cs.wustl.edu/~schmidt/ACE-overview.html

但是,我注意到网站上的很多论文都是 1995 年的,我想知道这个框架是否仍在使用,如果没有,它的替代品是什么?

还是boost取代了这个?ACE 是否包含增强的所需库?

0 投票
3 回答
857 浏览

c - C/C++ 高频消息程序

最近我遇到了 POCO 和 ACE 网络框架,以及我已经知道的 Boost。

我的问题是,这些库在传递消息方面是否比带有 Berkeley 套接字的常规 C 程序更快?这些库是否只是因为它们添加了多线程等特性而流行,这有助于提高性能因素?

我想在 Linux 上编写一个高性能的消息传递系统,但我不知道是否应该避免使用 ACE 、 POCO 和 Boost 而是只使用 Linux 线程 OS 函数和 berkeley 套接字?

换句话说,我不关心通用代码,使我的代码“对 STL 友好”等。我只想要原始性能(无需编写程序集!)。