Buduję parę klient/serwer w C++, a do komunikacji używam winsock
. Jednak nie jestem w stanie znaleźć żadnej biblioteki w C++, dzięki której mogę zaimplementować coś, co zamiast wysyłać żądania bezpośrednio od klienta do serwera, będzie przechowywać żądanie, a następnie komunikować się z serwerem.Oprogramowanie pośrednie w komunikacji klient/serwer
Czy istnieje jakaś metoda lub biblioteka do wysłania żądania do czegoś takiego jak broker i na odwrót? Coś, co zapamiętuje żądanie, a następnie komunikuje się z serwerem. Są to biblioteki, których już używam:
#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
Co dokładnie chcesz zrobić z tym "brokerem"? Jakie jest znaczenie kodu, który opublikowałeś? –
Chcę, aby ten broker akceptował wiele żądań od klienta, a następnie w kolejce i wysyłał je do serwera jeden po drugim, aby przetworzyć żądanie. Znaczenie kodu polega na tym, że mówię, że użyłem tych bibliotek. Chciałbym wiedzieć, że jest tam jakaś biblioteka w C++, albo mogę coś zrobić z winsockiem. – networks
Wygląda na to, że szukasz czegoś podobnego do [zeromq] (http://www.zeromq.org/), ale może to być znacznie bardziej skomplikowane, niż potrzebujesz. W prostych serwerach samo oprogramowanie serwera będzie wewnętrznie kolejkowało żądania i działać na nie jeden po drugim, jeśli musi przetwarzać żądania ściśle sekwencyjnie. –