7

我正在用 C++ 构建一个客户端/服务器对,并且我已经使用它winsock进行通信。但是,我无法在 C++ 中找到任何库,通过它我可以实现一些东西,而不是直接从客户端向服务器发送请求,而是存储请求,然后与服务器通信。

是否有任何方法或库可以将请求发送到诸如经纪人之类的东西,反之亦然?将存储请求,然后将与服务器通信的东西。这些是我已经在使用的库:

#pragma comment( linker, "/defaultlib:ws2_32.lib")
#include <WinSock2.h>
#include <winsock.h>
#include <stdio.h>
#include <iostream>
#include <string.h>
#include <windows.h>
#include <ws2tcpip.h>
#include <fstream>
using namespace std;

#define HOSTNAME_LENGTH 20
#define RESP_LENGTH 40
#define FILENAME_LENGTH 20
#define REQUEST_PORT 5001
#define BUFFER_LENGTH 1024 
#define TRACE 0
#define MSGHDRSIZE 8 //Message Header Size
4

2 回答 2

0

您需要编写自己的库来实现您的目标。我认为拥有这样的“经纪人”没有任何实际用途,它只是将请求堆叠起来并一一发送,因此没有商业可用。你可以写一个,如果你真的想要这样的东西,它不会是一项艰巨的任务。这可能是您的应用程序特定需求,我会让您上面的 WinSock 代码足够智能以处理它并避免搜索/编写这样的库。

您可能还想考虑 microsoft REST HTTP library aka casablanca 并在编写这样的库之前阅读以下博客文章。

http://blogs.msdn.com/b/vcblog/archive/2013/07/10/intercepting-http-request_2f00_response-using-c_2b002b00_-rest-http-library.aspx

于 2013-09-05T08:30:14.990 回答
0

您所描述的是消息队列。查看 MSMQ(Microsoft 消息队列)或 RabbitMQ。这将允许您的客户端应用程序向队列发送请求。然后您的服务器将从队列中读取请求并酌情处理它们。

于 2016-04-23T15:44:30.790 回答