我正在寻找一个多进程应用程序的日志记录工具,它还包含每个进程中的多个线程.
我当前的应用程序只是多线程的,并使用ACE_Message_Queue将记录事件发送到记录器线程(实际的日志消息在应用程序线程和记录器线程之间通过全局数组共享).
我的新应用程序包含多个进程,每个进程都有多个线程.如何在这种情况下实现良好的日志记录功能?也希望摆脱ACE而支持Boost.我的新应用程序应该在Linux,Mac和Windows上运行.
先感谢您.
我正在使用boost asio来开发一个侦听客户端连接的tcp服务器进程.期望客户端发送部分数据包.服务器进程在收到来自客户端的整个数据包(标头,数据和页脚)之前无法处理数据包.
为了处理部分数据包,服务器进程需要将数据包(或部分数据包)从每个客户端连接推送到队列.服务器将维护每个客户端连接的队列.
现在我的问题是如何在使用boost asio时获取套接字文件描述符.我打算使用套接字文件描述符中的整数值,并创建一个std :: map容器来处理每个客户端连接的队列.
std :: map <int,std :: deque <std :: string>
如果检索套接字文件描述符不可行,那么可能是最佳性能的替代方案.我需要使用吗?
std :: map <tcp :: socket*,std :: deque <std :: string >>?
提前致谢.
我开发了一个具有Qt共享库和Qt应用程序的应用程序.Qt共享库导出单个类,其中包含很少的信号.我为此使用了Q_DECL_EXPORT/Q_DECL_IMPORT宏.现在,dll和应用程序之间的通信是通过Qt信号和插槽进行的,需要使用QObject开发应用程序.
现在我被要求将Qt共享库作为理想的DLL,其中客户端应用程序不依赖于Qt框架.
我看到以下帖子,但在非Qt应用程序中使用基于Qt的DLL,但不确定这是否是最好的方法.
请问有人可以选择开发用于非Qt应用程序的Qt共享库.