python--udp创建客户端与服务端连接,从数据库获取数据

python--udp创建客户端与服务端连接,从数据库获取数据,第1张

概述UDP套接字特点(1)可能会出现数据丢失的情况(2)传输简单,实现容易(3)数据已数据包形式表达传输,容易丢包(4)数据传输效率高数据库代码#!/usr/bin/python3#-*-coding:utf-8-*-#@Date:2021/6/4#@Name:ZhouZongXin"""要求从客户端可以循环的输入单词,服务端查询到单

UDP套接字特点
(1)可能会出现数据丢失的情况
(2)传输简单,实现容易
(3)数据已数据包形式表达传输,容易丢包
(4)数据传输效率高

数据库代码
#!/usr/bin/python3# -*- Coding: utf-8 -*-# @Date  : 2021/6/4# @name  : ZhouZongXin"""要求从客户端可以循环的输入单词,服务端查询到单词,将单词解释发送给客户端,让客户端打印输出。数据库表words"""import pyMysqLclass MysqL(object):    def __init__(self):        self.db = pyMysqL.connect(            host='localhost', user='root', password='root',            database='test', port=3306, charset='utf8'        )        self.cur = self.db.cursor()  # 创建游标		# 关闭游标与数据库    def close(self):        self.cur.close()        self.db.close()    def select_words(self, word):        sql = "select mean from words where word=%s"        self.cur.execute(sql, [word])  # 执行语句(SQL语句,传递参数)        result = self.cur.fetchall()  # 查询全部数据        if result:            return result[0][0]        else:            return "没有查到"if __name__ == '__main__':    MysqL = MysqL()    print(MysqL.select_words('a'))
服务端代码
#!/usr/bin/python3# -*- Coding: utf-8 -*-# @Date  : 2021/6/4# @name  : ZhouZongXin"""服务端"""from socket import *from python_全栈.网络.udp_select.udp_MysqL import MysqLclass Server(object):    def __init__(self):        self.select_sql = MysqL()    def socket_server(self):        ADDR = ('0.0.0.0', 8888)  # 服务端ip地址        udp_socket = socket(AF_INET, SOCK_DGRAM)  # 创建udp套接字,AF_INET--ipv4,SOCK_DGRAM--UDP套接字类型        udp_socket.bind(ADDR)  # 绑定套接字        sql = self.select_sql        while True:            msg, addr = udp_socket.recvfrom(1024)  # 接收超过最高1024个字节            if msg == '##':                break            udp_socket.sendto(bytes(sql.select_words(msg.decode()), enCoding='UTF-8'), addr)  # 给对应客户端发送消息        sql.db.close()  # 关闭数据库        udp_socket.close()  # 关闭套接字if __name__ == '__main__':    server = Server()    server.socket_server()
客户端代码
#!/usr/bin/python3# -*- Coding: utf-8 -*-# @Date  : 2021/6/4# @name  : ZhouZongXin"""客户端"""from socket import *class ClIEnt(object):    @staticmethod    def socket_clIEnt():        ADDR = ('192.168.27.117', 8888)  # 套接字IP地址        udp_socket = socket(AF_INET, SOCK_DGRAM)  # 创建套接字(IPV4,套接字类型)        while True:            msg = input("输入要查询的单词>>")            if not msg:                break            udp_socket.sendto(msg.encode(), ADDR)  # 向客户端发送请求            data, addr = udp_socket.recvfrom(1024)  # 接受服务端返回            print("From server:", data.decode())  # 输出服务端返回结果clIEnt = ClIEnt()clIEnt.socket_clIEnt()
总结

以上是内存溢出为你收集整理的python--udp创建客户端与服务端连接,从数据库获取数据全部内容,希望文章能够帮你解决python--udp创建客户端与服务端连接,从数据库获取数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1185055.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存