python UDP server client 雙向溝通

我們在做物聯網服務的時候,會用到很多亂七八糟的連線方式。不只是靠 http 就可以搞定,大部分會遇到用 mqtt 來進行連線通訊。甚至,最近就遇到 nb-iot 的模組只支援 udp 的傳輸,這時候 python 就可以派上用場了。



簡易 server 範例

首先我們要 import 需要的東西


import string
import socket


接著就是讓這個服務啟動的 code

HOST = '0.0.0.0'
PORT = 8000

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(50)

print 'Server start at: %s:%s' %(HOST, PORT)
print 'wait for connection...'

while True:
    conn, addr = s.accept()
    print 'Connected by ', addr

    while True:
        data = conn.recv(1024)
        print data
        print "server received you message."+str(data)
        conn.send("server received you message."+str(data) )



簡易 client 範例



import socket
HOST = '127.0.0.1'
PORT = 8000

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))

while True:
    cmd = raw_input("Please input msg:")
    s.send(cmd)
    data = s.recv(1024)
    print data






做完以後我們可以在終端機視窗開兩個 python 程序互丟訊號


完整教學網址:https://gist.github.com/kevinkindom/108ffd675cb9253f8f71

留言