zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    六大设计原则(一)
    .Net MVC 实现WebSocket
    Socket基础三
    Linux date命令的用法(转)
    SpringBoot自定义校验注解校验日期时间格式字符串
    前缀、中缀、后缀表达式
    什么是重放攻击,列举几种常见防御手段?
    09月13日总结
    09月12日总结
    09月11日总结
  • 原文地址:https://www.cnblogs.com/gao-chao/p/13259478.html
Copyright © 2011-2022 走看看