मैं Boost.Asio के साथ दो त्रुटियों के साथ संघर्ष कर रहा हूँ।बूस्ट। एएसओ दस्तावेज मौजूद नहीं है। इन त्रुटियों का क्या अर्थ है?
पहली बार होता है जब मैं एक सॉकेट पर डेटा प्राप्त करने का प्रयास करें:
char reply[1024];
boost::system::error_code error;
size_t reply_length = s.receive(boost::asio::buffer(reply, 1024), 0, error);
if (error) cout << error.message() << endl; //outputs "End of file"
दूसरा तब होता है जब मैं एक (मान्य!) देशी सॉकेट से एक आईपी :: टीसीपी बनाने का प्रयास करें :: सॉकेट:
boost::asio::io_service ioserv;
boost::asio::ip::tcp::socket s(ioserv);
boost::system::error_code error;
s.assign(boost::asio::ip::tcp::v4(), nativeSocket, error);
if (error) cout << error.message() << endl; //outputs "The parameter is incorrect"
इन सभी परेशानियों के साथ कोई दस्तावेज नहीं है, मैं बीएसडी सॉकेट पर वापस जाने का लुत्फ उठा रहा हूं, लेकिन मुझे अपनी समस्याएं हैं ... इसलिए अगर कोई मदद कर सकता है, तो मैं वास्तव में सराहना करता हूं यह।
संपादित करें: के बारे में नंबर 2, nativeSocket thusly घोषित किया जाता है:
SOCKET nativeSocket = INVALID_SOCKET;
nativeSocket = accept(svr_sock, (struct sockaddr*)&sin, &size);
उसके बाद, कुछ अन्य बातें सॉकेट से किया जाता है - अर्थात्, के रूप में यह स्थापित करने ioctlsocket का उपयोग कर गैर अवरुद्ध, और setsockopt का उपयोग कर SO_LINGER और SO_OOBINLINE के लिए।
क्या आप देशी सॉकेट के लिए घोषणा/प्रारंभिकरण दे सकते हैं? मुझे लगता है कि प्रो 2 के साथ समस्याएं इसके साथ हैं। – rcollyer
बस इसे जोड़ा गया। –
आपके पहले प्रश्न के लिए: "फ़ाइल का अंत" आमतौर पर इंगित करता है कि कनेक्शन सहकर्मी द्वारा बंद कर दिया गया था। –