निर्दिष्ट करने वाले बूस्ट एएसओओ का उपयोग करके एक आईस्ट्रीम बनाएं, मुझे एशियो लाइब्रेरी को बढ़ावा देने में कोई समस्या है। मैंने क्लाइंट और सर्वर के बीच सॉकेट बनाने की सफलतापूर्वक कोशिश की, इसमें सर्वर पर आईपी और पोर्ट निर्दिष्ट करने के लिए संकल्पकों का निर्माण शामिल है (सर्वर को केवल पोर्ट की आवश्यकता है) और अन्य ऑब्जेक्ट्स, लेकिन, सबसे महत्वपूर्ण बात यह है कि इसका उपयोग करना आवश्यक है write
और read_some
सॉकेट से/पढ़ने और लिखने के कार्यों के रूप में। मैं वास्तव में स्ट्रीम का उपयोग करने की सराहना करता हूं, और यह एएसओ को बढ़ावा देने में संभव है, लेकिन यह अजीब है ... स्ट्रीम बनाने के लगभग सभी उदाहरणों में, सर्वर बनाने के लिए पोर्ट प्रदान करना आवश्यक है, ठीक है, चलिए क्लाइंट के बारे में बात करते हैंआईपी और पोर्ट
tcp::iostream() s(argv[1], "daytime");
ठीक है, मैं वास्तव में समझ में नहीं आता वास्तव में क्या पहले पैरामीटर में पारित हो जाता है और: ... ग्राहक के पक्ष में, यह धारा से जोड़ने के लिए निर्देशांक निर्दिष्ट करने के लिए iostream निर्माता का उपयोग करने के लिए आवश्यक है, यहाँ कोड है पता नहीं क्या दिन कभी भी प्रतिनिधित्व कर सकता है ... असल में, मैं कह रहा हूं: "हे स्ट्रीम, आपको इस सर्वर से कनेक्ट होना चाहिए ..." लेकिन मैं उस सर्वर के आईपी और पोर्ट को कैसे निर्दिष्ट कर सकता हूं? ध्यान दें कि, विपरीत पर, सब कुछ लगभग स्पष्ट सर्वर साइड है:
boost::asio::io_service io_s;
tcp::acceptor acc(io_s, tcp::endpoint(tcp::v4(), 1950));
for (;;) {
tcp::iostream stream;
acc.accept(*stream.rdbuf());
stream << "Message" << std::endl;
}
इस मॉडल का उपयोग, मैं आदेश भेजने और प्राप्त करने में
stream << mymessage_to_send << std::endl;
stream >> a_string_containing_my_message;
उपयोग करना चाहते हैं। मैं यह कैसे कर सकता हूं? बहुत बहुत धन्यवाद।
ठीक है, इसे तुरंत जांच करने जा रहा ... धन्यवाद – Andry
तुम कोशिश यदि आप चाहें तो मेरे कार्यान्वयन के बारे में मुझसे पूछने के लिए स्वतंत्र। सौभाग्य! –
ठीक है, मैं आपके कोड को देखकर कुछ चीजों की कोशिश कर रहा हूं ... मैं आपके जैसा अनुभव नहीं कर रहा हूं ... अच्छा, प्रश्न आने वाले हैं, अब मैं बस कह सकता हूं: कमाल कोड !!!!! – Andry