यूनिक्स सॉकेट - सारांश

यहां सॉकेट प्रोग्रामिंग से संबंधित सभी कार्यों की एक सूची दी गई है।

पोर्ट और सेवा कार्य

यूनिक्स / etc / सेवाओं फ़ाइल से सेवा का नाम लाने के लिए निम्न कार्य प्रदान करता है।

  • struct servent *getservbyname(char *name, char *proto) - यह कॉल सेवा नाम और प्रोटोकॉल नाम लेता है और उस सेवा के लिए संबंधित पोर्ट नंबर देता है।

  • struct servent *getservbyport(int port, char *proto) - यह कॉल एक पोर्ट नंबर और एक प्रोटोकॉल नाम लेता है और संबंधित सेवा का नाम देता है।

बाइट ऑर्डरिंग फ़ंक्शंस

  • unsigned short htons (unsigned short hostshort) - यह फ़ंक्शन होस्ट बाइट ऑर्डर से नेटवर्क बाइट ऑर्डर तक 16-बिट (2-बाइट) मात्रा में कनवर्ट करता है।

  • unsigned long htonl (unsigned long hostlong) - यह फ़ंक्शन होस्ट बाइट ऑर्डर से 32-बिट (4-बाइट) मात्रा को नेटवर्क बाइट ऑर्डर में कनवर्ट करता है।

  • unsigned short ntohs (unsigned short netshort) - यह फ़ंक्शन नेटवर्क बाइट ऑर्डर से 16-बिट (2-बाइट) मात्रा को बाइट ऑर्डर को होस्ट करता है।

  • unsigned long ntohl (unsigned long netlong) - यह फ़ंक्शन बाइट ऑर्डर को होस्ट करने के लिए नेटवर्क बाइट ऑर्डर से 32-बिट मात्रा में कनवर्ट करता है।

आईपी ​​पता कार्य

  • int inet_aton (const char *strptr, struct in_addr *addrptr)- यह फ़ंक्शन कॉल निर्दिष्ट स्ट्रिंग को इंटरनेट मानक डॉट नोटेशन में, नेटवर्क पते पर, और दिए गए संरचना में पते को संग्रहीत करता है। परिवर्तित पता नेटवर्क बाइट ऑर्डर (बाइट्स से बाएं से दाएं) के क्रम में होगा। यह 1 लौटाता है यदि स्ट्रिंग वैध है और 0 त्रुटि पर।

  • in_addr_t inet_addr (const char *strptr)- यह फ़ंक्शन कॉल निर्दिष्ट स्ट्रिंग को इंटरनेट मानक डॉट नोटेशन में, एक इंटरनेट पते के रूप में उपयोग के लिए उपयुक्त पूर्णांक मान में कनवर्ट करता है। परिवर्तित पता नेटवर्क बाइट ऑर्डर (बाइट्स से बाएं से दाएं) के क्रम में होगा। यह एक 32-बिट बाइनरी नेटवर्क बाइट का आदेश दिया IPv4 पता और INADDR_NONE त्रुटि पर।

  • char *inet_ntoa (struct in_addr inaddr) - यह फ़ंक्शन कॉल इंटरनेट मानक डॉट नोटेशन में निर्दिष्ट इंटरनेट होस्ट पते को स्ट्रिंग में कनवर्ट करता है।

सॉकेट कोर कार्य

  • int socket (int family, int type, int protocol) - यह कॉल एक सॉकेट डिस्क्रिप्टर देता है जिसे आप बाद के सिस्टम कॉल में उपयोग कर सकते हैं या यह आपको त्रुटि पर -1 देता है।

  • int connect (int sockfd, struct sockaddr *serv_addr, int addrlen)- कनेक्ट फ़ंक्शन का उपयोग टीसीपी सर्वर के साथ कनेक्शन स्थापित करने के लिए एक टीसीपी क्लाइंट द्वारा किया जाता है। यदि यह सफलतापूर्वक सर्वर से जुड़ जाता है, तो यह कॉल 0 देता है, अन्यथा यह -1 देता है।

  • int bind(int sockfd, struct sockaddr *my_addr,int addrlen)- बाइंड फ़ंक्शन एक सॉकेट में एक स्थानीय प्रोटोकॉल पता प्रदान करता है। यह कॉल 0 देता है यदि यह सफलतापूर्वक पते से जुड़ता है, अन्यथा यह -1 देता है।

  • int listen(int sockfd, int backlog)- क्लाइंट फ़ंक्शन के लिए सुनने के लिए सुनने का कार्य केवल एक टीसीपी सर्वर द्वारा कहा जाता है। यह कॉल सफलता पर 0 देता है, अन्यथा यह -1 देता है।

  • int accept (int sockfd, struct sockaddr *cliaddr, socklen_t *addrlen)- क्लाइंट फ़ंक्शन को स्वीकार करने और वास्तविक कनेक्शन स्थापित करने के लिए टीसीपी सर्वर द्वारा स्वीकार फ़ंक्शन को कहा जाता है। यह कॉल सफलता पर एक गैर-नकारात्मक विवरणक देता है, अन्यथा यह -1 देता है।

  • int send(int sockfd, const void *msg, int len, int flags)- सेंड फंक्शन का उपयोग स्ट्रीम सॉकेट या कनेक्टेड डेटाग्राम सॉकेट्स पर डेटा भेजने के लिए किया जाता है। यह कॉल बाहर भेजे गए बाइट्स की संख्या देता है, अन्यथा यह -1 देता है।

  • int recv (int sockfd, void *buf, int len, unsigned int flags)- recv फ़ंक्शन का उपयोग स्ट्रीम सॉकेट या कनेक्टेड डेटाग्राम सॉकेट्स पर डेटा प्राप्त करने के लिए किया जाता है। यह कॉल बफ़र में पढ़ी गई बाइट्स की संख्या को लौटाता है, अन्यथा यह त्रुटि पर -1 देता है।

  • int sendto (int sockfd, const void *msg, int len, unsigned int flags, const struct sockaddr *to, int tolen)- Sendto फ़ंक्शन का उपयोग UNCONNECTED डेटाग्राम सॉकेट पर डेटा भेजने के लिए किया जाता है। यह कॉल भेजे गए बाइट्स की संख्या लौटाता है, अन्यथा यह त्रुटि पर -1 देता है।

  • int recvfrom (int sockfd, void *buf, int len, unsigned int flags struct sockaddr *from, int *fromlen)- रिकव्रोम फंक्शन का उपयोग UNCONNECTED डेटाग्राम सॉकेट से डेटा प्राप्त करने के लिए किया जाता है। यह कॉल बफ़र में पढ़ी गई बाइट्स की संख्या को लौटाता है, अन्यथा यह त्रुटि पर -1 देता है।

  • int close (int sockfd)- क्लोज फंक्शन का उपयोग क्लाइंट और सर्वर के बीच संचार को बंद करने के लिए किया जाता है। यह कॉल सफलता पर 0 देता है, अन्यथा यह -1 देता है।

  • int shutdown (int sockfd, int how)- शटडाउन फ़ंक्शन का उपयोग क्लाइंट और सर्वर के बीच संचार को शान से बंद करने के लिए किया जाता है। यह फ़ंक्शन क्लोज फंक्शन की तुलना में अधिक नियंत्रण देता है। यह सफलता पर 0 लौटाता है, -1 अन्यथा।

  • int select (int nfds, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct timeval *timeout) - इस फ़ंक्शन का उपयोग कई सॉकेट्स को पढ़ने या लिखने के लिए किया जाता है।

सॉकेट हेल्पर फ़ंक्शंस

  • int write (int fildes, const void *buf, int nbyte)- लिखने का कार्य बफर फाइल से nfte बाइट्स को लिखने का प्रयास करता है, जो कि bf द्वारा फाइल ओपन डिस्क्रिप्टर, फिल्ड्स से जुड़ी फाइल से बताया जाता है। सफल समापन पर, लिखने () वास्तव में फ़ाइल के साथ जुड़े फ़ाइल को लिखी गई बाइट्स की संख्या देता है। यह संख्या कभी भी निबटे से अधिक नहीं है। अन्यथा, -1 लौटा दिया जाता है।

  • int read (int fildes, const void *buf, int nbyte)- पठन फ़ंक्शन, बफ़ द्वारा बताए गए बफ़र में खुली फ़ाइल डिस्क्रिप्टर, फ़िल्ड्स से जुड़ी फ़ाइल से nbyte बाइट्स पढ़ने का प्रयास करता है। सफल समापन पर, लिखने () वास्तव में फ़ाइल के साथ जुड़े फ़ाइल को लिखी गई बाइट्स की संख्या देता है। यह संख्या कभी भी निबटे से अधिक नहीं है। अन्यथा, -1 लौटा दिया जाता है।

  • int fork (void)- कांटा फ़ंक्शन एक नई प्रक्रिया बनाता है। नई प्रक्रिया, जिसे चाइल्ड प्रोसेस कहा जाता है, कॉलिंग प्रक्रिया (मूल प्रक्रिया) की एक सटीक प्रतिलिपि होगी।

  • void bzero (void *s, int nbyte)- बेज़ेरो फ़ंक्शन स्ट्रिंग s में nbyte null बाइट्स रखता है। इस फ़ंक्शन का उपयोग सभी सॉकेट संरचनाओं को शून्य मानों के साथ सेट करने के लिए किया जाएगा।

  • int bcmp (const void *s1, const void *s2, int nbyte)- bcmp फ़ंक्शन बाइट स्ट्रिंग s2 के मुकाबले बाइट स्ट्रिंग s1 की तुलना करता है। दोनों तारों को लंबे समय तक बाइट माना जाता है।

  • void bcopy (const void *s1, void *s2, int nbyte)- bcopy function स्ट्रिंग s1 से string s2 तक nbyte बाइट्स को कॉपी करता है। ओवरलैपिंग स्ट्रिंग्स को सही ढंग से संभाला जाता है।

  • void *memset(void *s, int c, int nbyte) - मेमरी फंक्शन का उपयोग स्ट्रक्चर वेरिएबल्स को उसी तरह सेट करने के लिए किया जाता है जैसे कि बेज़ेरो।