द्विदिश संचार चैनल में, सॉकेट दो अंत बिंदु हैं। सॉकेट एक ही मशीन पर या अलग-अलग महाद्वीपों पर प्रक्रियाओं के बीच संचार कर सकते हैं।
सॉकेट विभिन्न प्रकार के चैनल - TCP, UDP द्वारा कार्यान्वित किए जाते हैं।
सॉकेट बनाने के लिए, हमें सॉकेट मॉड्यूल और socket.socket() फ़ंक्शन की आवश्यकता होती है।
सिंटैक्स
my_socket = socket.socket(socket_family, socket_type, protocol=0)
सर्वर सॉकेट में विभिन्न मेथड
my_socket.bind()
यह मेथड एड्रेस (होस्टनाम, पोर्ट नंबर जोड़ी) को सॉकेट से बाइंड करने के लिए उपयोग किया जाता है।
my_socket.listen()
यह मेथड TCP लिस्टनर को सेट अप और शुरू करने के लिए उपयोग किया जाता है।
my_socket.accept()
यह मेथड TCP क्लाइंट कनेक्शन स्वीकार करने के लिए उपयोग किया जाता है, कनेक्शन आने तक प्रतीक्षा करता है (ब्लॉकिंग)।
क्लाइंट सॉकेट में विभिन्न मेथड
my_socket.connect()
यह मेथड सक्रिय रूप से TCP सर्वर कनेक्शन आरंभ करता है।
सामान्य सॉकेट मेथड
my_socket.recv()
यह मेथड TCP संदेश प्राप्त करता है
my_socket.send()
यह मेथड TCP संदेश प्रसारित करता है
my_socket.recvfrom()
यह मेथड UDP संदेश प्राप्त करता है
my_socket.sendto()
यह मेथड UDP संदेश प्रसारित करता है
my_socket.close()
यह मेथड सॉकेट बंद करता है
my_socket.gethostname()
यह मेथड होस्टनाम लौटाता है।
सर्वर सॉकेट
उदाहरण
import socket
my_socket = socket.socket() # एक सॉकेट ऑब्जेक्ट बनाएं
my_host = socket.gethostname()
my_port = 00000 # अपनी सेवा के लिए एक पोर्ट स्टोर करें।
my_socket.bind((my_host, my_port))
my_socket.listen(5) # अब क्लाइंट कनेक्शन की प्रतीक्षा करें।
while True:
cl, myaddr = my_socket.accept() # क्लाइंट के साथ कनेक्शन स्थापित करें।
print('Got connection from', myaddr)
cl.send('Thank you for connecting')
cl.close() # कनेक्शन बंद करें
क्लाइंट सॉकेट
उदाहरण
import socket # सॉकेट मॉड्यूल इम्पोर्ट करें my_socket = socket.socket() # एक सॉकेट ऑब्जेक्ट बनाएं my_host = socket.gethostname() # स्थानीय मशीन नाम प्राप्त करें my_port = 00000 # अपनी सेवा के लिए एक पोर्ट स्टोर करें। my_socket.connect((my_host, my_port)) print(my_socket.recv(1024)) my_socket.close()