2009-07-28 16 views
13

हालांकि मैंने व्यावसायिक रूप से सॉकेट के साथ काम नहीं किया है, मुझे उन्हें दिलचस्प लगता है। मैंने रिचर्ड स्टीवंस द्वारा यूनिक्स नेटवर्क प्रोग्रामिंग के कुछ हिस्से को पढ़ा (जिसे मैं मानता हूं कि बाइबिल माना जाता है क्योंकि यह मेरे द्वारा पूछे जाने वाले सभी लोगों द्वारा संदर्भित है) लेकिन समस्या यह है कि उदाहरणों को सार्वभौमिक शीर्षलेख unp.h की आवश्यकता होती है जो उपयोग करने के लिए एक पीआईए है।यूनिक्स/लिनक्स सॉकेट प्रोग्रामिंग पर अच्छी रीडिंग्स?

क्या आप में से कुछ यूनिक्स/लिनक्स में सॉकेट प्रोग्रामिंग के लिए अच्छी पढ़ाई का सुझाव दे सकते हैं? ध्यान में रखते हुए मैं अपेक्षाकृत अनुभवी सी/सी ++ कोडर हूं।

उत्तर

20

वैनिकल संदर्भ डब्ल्यू रिचर्ड स्टीवंस द्वारा यूनिक्स नेटवर्क प्रोग्रामिंग है। upn.h वास्तव में एक सहायक शीर्षलेख है, पुस्तक उदाहरण स्पष्ट करने के लिए - यह विशेष रूप से जादू कुछ भी नहीं करता है।

उठने और बहुत जल्दी चलने के लिए, Beej's Guide To Network Programming using Internet Sockets पर जाना मुश्किल है।

+4

इसे सभी और सैंड्री द्वारा प्रस्तुत किया गया है, मुझे यकीन है कि अन्य अच्छी रीडिंग भी हैं। अपने उदाहरणों का प्रयास करना एक पीआईए है। समस्या जो मैं देखता हूं वह है कि उदाहरणों में दिए गए शीर्षलेख वास्तविक कार्यों के लिए रैपर हैं और यह नहीं है कि कोई एपीआई कैसे सीखता है। और सबसे महत्वपूर्ण बात यह है कि वे संकलित नहीं करते हैं (कम से कम परीक्षण के बाद मेरे सिस्टम पर कम से कम यह बार-बार विफल रहा) – rocknroll

+0

आप किस लिनक्स सिस्टम पर काम कर रहे हैं? बीज का पृष्ठ फेडोरा कोर (संस्करण 3 आईआईआरसी) कहता है ... –

12

मैं Beej's Guide to Network Programming

जिस तरह के हर कदम पर स्पष्टीकरण के साथ क्लाइंट और सर्वर कोड के उदाहरण के लिए बहुत कुछ है इस्तेमाल किया।

+0

+1: यह एक बहुत तेज़ स्टार्ट-स्टार्ट गाइड है। आपको अपना खुद का यादृच्छिक सॉकेट-संचालित ऐप्स लिखने के लिए बहुत कुछ होना चाहिए। – ojrac

1

APUE यूनिक्स पर्यावरण के साथ-साथ सी प्रोग्रामिंग को यूनिक्स संदर्भ में परिचित करने का एक अच्छा तरीका है ताकि आप सॉकेट प्रोग्रामिंग पर जा सकें।

+0

@alok इस पुस्तक का पहले से ही कैफ के उत्तर में उल्लेख किया गया है। –

1

परे स्टीवंस किताबें पहले ही उल्लेख किया, मैंने पाया दो निम्नलिखित होने के लिए टीसीपी/आईपी प्रोग्रामिंग मुद्दों (विशेष रूप से gotchas और आम त्रुटियों) के लिए वास्तव में अच्छा है और अपेक्षाकृत कम पढ़ता है:

उसके बाद, आप शायद नेटवर्क अनुप्रयोगों के लिए स्रोत कोड को पढ़ने के लिए चाहते हैं ऑन। विभिन्न लिनक्स उपयोगिताओं और अनुप्रयोग एक अच्छा प्रारंभिक बिंदु हैं। "A Crash Course In Unix TCP/IP Socket Programming".

कागज पुराना है:

1

आप कागज मैंने लिखा जब मैं स्नातक कंप्यूटर विज्ञान cource, कंप्यूटर नेटवर्किंग बुनियादी बातों सिखाया एक लंबे समय पहले ufl.edu में, संदर्भित कर सकते हैं। मुझे आश्चर्य है कि जब मैं इसके लिए बिंग किया गया, वहां अभी भी आधे दर्जन संदर्भ हैं।

कुछ कंपाइलर अर्थशास्त्र और आवश्यक शीर्षलेख फ़ाइलों में कुछ वर्षों से कुछ बदलाव हो सकता है, लेकिन यूडीपी या टीसीपी सॉकेट स्थापित करने और मूलभूत DNS सामग्री सेट करने की मूल बातें आज भी वैध हैं।

शुभकामनाएं!

1

यह पूल या डाइविंग हेड में गहरे छोर में पहली बार क्लासिक दुविधा का प्रतीत होता है।

एफडब्ल्यूआईडब्ल्यू मुझे स्टीवन के रैपर कोड को भी परेशान करने के लिए मिला है और मैंने कम से कम कुछ उदाहरणों को प्राप्त करने के लिए संघर्ष किया है जिन पर मैंने कोशिश की थी। उस ने कहा कि रैपर ज्यादातर मामूली त्रुटि प्रबंधन को छिपाते हैं जो दोहराए जाने वाले, अनजान होते, और पहले से ही बड़ी किताब में अधिक जगह लेते थे। (हालांकि निष्पक्षता में संपादक कमरे बनाने के लिए XTI को कवर करने वाली पुस्तक के अंतिम 1/4 वें स्थान को निकाल सकते हैं।)

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

स्टीवन के काम के अध्याय रहे हैं जिन्हें मैंने वर्षों से सफलतापूर्वक अनदेखा किया। लेकिन मुझे यकीन था कि जब मैं उनकी ज़रूरत थी तो वे वहां आभारी थे।

1

डब्ल्यू रिचर्ड स्टीवंस द्वारा यूनिक्स नेटवर्क प्रोग्रामिंग वॉल्यूम 1/2 पौराणिक है।

इथिलगोर ने raw sockets पर एक बहुत विस्तृत दस्तावेज भी लिखा।

इसके अलावा, सॉकेट प्रोग्रामिंग के लिए बीज की मार्गदर्शिका अच्छी तरह से लिखी गई है, समझने में आसान है, और एक निश्चित सिफारिश है।

जो भी आप पढ़ते हैं, सुनिश्चित करें कि आप पूरक कोड लिखते हैं।

0

तुम भी अधिक सामान्य संदर्भ, यूनिक्स ™ सिस्टम प्रोग्रामिंग पर विचार: संचार, संगामिति, और धागे Kay ए रॉबिंस करके, स्टीवन रॉबिंस प्रेंटिस हॉल ISBN: 0-13-042411-0

अभी भी, रिचर्ड स्टीवन की पुस्तक है कि विशिष्ट विषय

0

माइकल केररिस्क की पुस्तक (उन्होंने यह भी लिनक्स आदमी पृष्ठों मेंटेनर है) पर सबसे अधिक पूर्ण संदर्भ है the linux programming interface

वहाँ यू के बारे में सब कुछ है निक्स प्रोग्रामिंग; 57 से 61 के अध्याय सॉकेट पर हैं।

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