3udp编程

服务端

from socket import *
import pymysql

class Database:
    def __init__(self):
        self.db = pymysql.connect(host='localhost',
                            port=3306,
                            user='root',
                            password='159357',
                            database='stu',
                            charset='utf8')
        self.cur = self.db.cursor()
    def insert_data(self,data):
        sql = 'insert into cls(name,age,sex,score) values(%s,%s,%s,%s);'
        try:
            self.cur.execute(sql,data)
            self.db.commit()
        except:
            self.db.rollback()
    def close(self):
        self.cur.close()
        self.db.close()




def main():
    db = Database()
    udp_socket = socket(AF_INET,SOCK_DGRAM)
    server_addr = ('192.168.0.143',8889)
    udp_socket.bind(server_addr)
    while True:
        try:
            data,addr=udp_socket.recvfrom(20)
            data = data.decode().split(' ')
            db.insert_data(data)
        except KeyboardInterrupt:
            break
    udp_socket.close()
    db.close()
    print("服务结束")

if __name__=='__main__':
    main( )

客户端

from socket import *

def main():
    udp_socket = socket(AF_INET,SOCK_DGRAM)
    server_address=('192.168.0.143',8889)
    while True:
        
        name=input("Name:")
        age = input("Age:")
        sex = input("Sex:")
        score = input("score:")
        if not name:
            break
        data = "%s %s %s %s" %(name,age,sex,score)
        udp_socket.sendto(data.encode(),server_address)
        s_data,addr = udp_socket.recvfrom(20)
    
    
    udp_socket.close()

main()
原文地址:https://www.cnblogs.com/gao-chao/p/13259478.html