दो जुड़े हुए सॉकेट हैं। मैं उन्हें कैसे जोड़ सकता हूं?मैं लिनक्स में दो सॉकेट "इंटरकनेक्ट" कैसे कर सकता हूं?
- एक सॉकेट पर दिखाई देने वाला डेटा दूसरे को लिखा जाना चाहिए।
- ईओएफ/एफआईएन अच्छी तरह से प्रचार करना चाहिए। यदि कोई आधा बंद है, तो दूसरा भी आधा बंद होना चाहिए।
int client = get_connected_client_socket(); int proxy = get_connected_proxy_socket(); negotiate_with_proxy(proxy); iterconnect(client, proxy); // Now forgot about both client and proxy. // System should handle IO/shutdown/close. // Ideally even without any support of the user-space process.
लिनक्स यह कर सकते हैं? क्या मौजूदा कनेक्शन की ट्रैकिंग स्थिति बदलने के लिए कनेक्शन ट्रैकिंग को ट्रिक करके किया जा सकता है?
Determine how much can I write into a filehandle; copying data from one FH to the other
नहीं, मुझे 'splice' के बारे में पता नहीं था (मैं केवल सैद्धांतिक रूप से' sendfile' के बारे में जानता था)। मैं सोचूंगा और इसका परीक्षण करूंगा। –
सॉकेट -> पाइप -> सॉकेट 'splice' श्रृंखला काम करता है। –
@Vi .: मुझे लगता है कि आप टीसीपी सॉकेट का उपयोग कर रहे थे? ऐसा लगता है कि यह दृष्टिकोण यूडीपी सॉकेट के लिए काम नहीं करेगा? –