ในช่องทางการสื่อสารแบบสองทิศทาง ซ็อกเก็ตคือจุดปลายสองจุด ซ็อกเก็ตสามารถสื่อสารระหว่างกระบวนการในเครื่องเดียวกันหรือในทวีปต่างๆ ได้
ซ็อกเก็ตถูกใช้งานโดย channel-TCP, UDP ประเภทต่างๆ
ในการสร้าง Socket เราจำเป็นต้องมี socket module และ socket.socket () ฟังก์ชั่น
ไวยากรณ์
my_socket = socket.socket (socket_family, socket_type, protocol=0)
วิธีการต่างๆ ใน Server Socket
my_socket.bind()
วิธีนี้ใช้สำหรับผูกที่อยู่ (ชื่อโฮสต์ คู่หมายเลขพอร์ต) กับซ็อกเก็ต
my_socket.listen()
วิธีนี้ใช้สำหรับตั้งค่าและเริ่ม TCP listener
my_socket.accept()
วิธีนี้ใช้สำหรับยอมรับการเชื่อมต่อไคลเอ็นต์ TCP รอจนกว่าการเชื่อมต่อจะมาถึง (กำลังบล็อก)
วิธีการต่างๆ ใน Client Socket
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() # Create a socket object my_host = socket.gethostname() my_port = 00000# Store a port for your service. my_socket.bind((my_host, my_port)) my_socket.listen(5) # Now wait for client connection. while True: cl, myaddr = my_socket.accept() # Establish connection with client. print ('Got connection from', myaddr) cl.send('Thank you for connecting') cl.close() # Close the connection
ซ็อกเก็ตไคลเอนต์
ตัวอย่าง
import socket # Import socket module my_socket = socket.socket() # Create a socket object my_host = socket.gethostname() # Get local machine name my_port = 00000# Store a port for your service. my_socket.connect((my_host, my_port)) print (my_socket.recv(1024)) my_socket.close