Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การเขียนโปรแกรมซ็อกเก็ตใน Python


ในช่องทางการสื่อสารแบบสองทิศทาง ซ็อกเก็ตคือจุดปลายสองจุด ซ็อกเก็ตสามารถสื่อสารระหว่างกระบวนการในเครื่องเดียวกันหรือในทวีปต่างๆ ได้

ซ็อกเก็ตถูกใช้งานโดย 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