2012-10-03 27 views
7

मैं सी ++ में क्लाइंट/सर्वर जोड़ी बना रहा हूं, और मैंने संचार के लिए winsock का उपयोग किया है। हालांकि, मैं सी ++ में कोई लाइब्रेरी नहीं ढूंढ पा रहा हूं जिसके द्वारा मैं कुछ ऐसा कार्यान्वित कर सकता हूं, क्लाइंट से सीधे सर्वर पर अनुरोध भेजने की बजाय, अनुरोध संग्रहित करेगा, और बाद में सर्वर के साथ संवाद करेगा।ग्राहक/सर्वर संचार में मिडलवेयर

ब्रोकर की तरह कुछ भेजने के लिए कोई विधि या पुस्तकालय है, और इसके विपरीत? ऐसा कुछ जो अनुरोध को संग्रहीत करेगा, और फिर सर्वर के साथ संवाद करेगा। ये वे पुस्तकालय हैं जिनका मैं पहले से उपयोग कर रहा हूं:

#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 
+0

आप यह "ब्रोकर" क्या करना चाहते हैं, बिल्कुल? आपके द्वारा पोस्ट किए गए कोड का महत्व क्या है? –

+0

मैं चाहता हूं कि यह ब्रोकर क्लाइंट से कई अनुरोध स्वीकार करे और फिर कतार दें और अनुरोध को संसाधित करने के लिए उन्हें एक-एक करके सर्वर पर भेज दें। कोड का महत्व यह है कि मैं कह रहा हूं कि मैंने इन पुस्तकालयों का उपयोग किया है .. मैं जानना चाहता हूं कि सी ++ में कोई पुस्तकालय है या मैं जीत के साथ कुछ कर सकता हूं। – networks

+5

ऐसा लगता है कि आप [zeromq] (http://www.zeromq.org/) जैसे कुछ ढूंढ रहे हैं, हालांकि यह आपकी आवश्यकता से कहीं अधिक जटिल हो सकता है। सरल सर्वरों में, सर्वर सॉफ़्टवेयर स्वयं आंतरिक रूप से अनुरोधों को कतारबद्ध करेगा और उन पर एक-एक करके कार्य करेगा यदि इसे सख्ती से अनुरोधों को संसाधित करने की आवश्यकता है। –

उत्तर

0

आपको अपने लक्ष्य को प्राप्त करने के लिए अपनी पुस्तकालय लिखना है। मुझे ऐसे "दलाल" होने का कोई व्यावहारिक उपयोग नहीं दिख रहा है जो केवल अनुरोधों को ढेर करता है और उन्हें एक-एक करके भेजता है और इसलिए वाणिज्यिक रूप से कोई भी उपलब्ध नहीं है। आप एक लिख सकते हैं और यदि आप वास्तव में ऐसी चीज चाहते हैं तो ऐसा करना मुश्किल नहीं होगा। यह शायद आपके आवेदन की विशिष्ट आवश्यकता है और मैं आपके उपरोक्त WinSock कोड को इसे संभालने के लिए पर्याप्त बुद्धिमान बनाउंगा और ऐसी लाइब्रेरी को खोज/लिखने से बचूंगा।

आप माइक्रोसॉफ्ट रीस्ट HTTP लाइब्रेरी उर्फ ​​कैसाब्लांका पर भी विचार करना चाहेंगे और ऐसी लाइब्रेरी लिखने से पहले नीचे दिए गए ब्लॉग पोस्ट को पढ़ सकते हैं।

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

0

क्या आप का वर्णन कर रहे हैं संदेश कतार है। एमएसएमक्यू (माइक्रोसॉफ्ट मेसेज कतार) या RabbitMQ में देखें। यह आपके क्लाइंट ऐप्स को कतार के लिए अनुरोध भेजने की अनुमति देगा। फिर आपके सर्वर कतार से अनुरोध पढ़ेंगे और उन्हें उचित रूप से संसाधित करेंगे।

संबंधित मुद्दे