การสร้าง Server ด้วย Python

การสร้าง Server ด้วย Python :
ทำไมต้องมี Server ? 
  • เนื่องจากโปรเจคนี้เราต้องการส่งค่าผ่านจาก Android ผ่านไปยัง Arduino จึงจำเป็นต้องมี Server เป็นตัวกลางในการรับเเละส่งข้อมูล
ทำไมต้อง Python ?
  • เนื่องจาก Python เป็นภาษาที่ใช้งานง่ายเเละสามารถรันบน Raspberry Pi ได้เป็นอย่างดี
ดังนั้นเมื่อมีเหตุผลครบเเล้วเรามาเริ่มสร้าง Server ด้วย Python กันเลย !
พอพูดถึง Server ก็จะมี Protocal ที่นิยมใช้อยู่ 2 ประเภท คือ TCP/IP หรือ UDP ในที่นี้จะเลือกการใช้งานเเบบ TCP/IP นะครับ สงสัยเพิ่มเติมหาข้อมูลที่ http://www.avrportal.com/forum/index.php?topic=79.0 ได้เลย เนื่องจาก python ได้มีการเเจก Code Server ไว้อยู่เเล้วที่ลิงค์ https://wiki.python.org/moin/TcpCommunication จึงได้นำมาศึกษาเเละปรับปรุงโดยที่จะใช้ Code ที่เป็น Code Server ดังต่อไปนี้ 

   1 #!/usr/bin/env python
   2 
   3 import socket
   4 
   5
   6 TCP_IP = '127.0.0.1' #Server IP Address
   7 TCP_PORT = 5005 #Server Port
   8 BUFFER_SIZE = 20  # Normally 1024, but we want fast response
   9 
  10 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #Open socket
  11 s.bind((TCP_IP, TCP_PORT))
  12 s.listen(1)
  13 
  14 conn, addr = s.accept()
  15 print 'Connection address:', addr
  16 while 1:
  17     data = conn.recv(BUFFER_SIZE)
  18     if not data: break
  19     print "received data:", data
  20     conn.send(data)  # echo
  21 conn.close()
โดยที่ Code ตัวอย่างนี้จะทำงานคือรับค่าจาก Client เเละส่งค่ากลับไปเเสดงผลที่ Client

No comments:

Post a Comment