python--udp创建客户端与服务端连接,从数据库获取数据
2021/6/8 2:31:35
本文主要是介绍python--udp创建客户端与服务端连接,从数据库获取数据,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
UDP套接字特点
(1)可能会出现数据丢失的情况
(2)传输简单,实现容易
(3)数据已数据包形式表达传输,容易丢包
(4)数据传输效率高
数据库代码
#!/usr/bin/python3 # -*- coding: utf-8 -*- # @Date : 2021/6/4 # @Name : ZhouZongXin """ 要求从客户端可以循环的输入单词,服务端查询到单词,将单词解释发送给客户端 ,让客户端打印输出。 数据库表words """ import pymysql class 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 Mysql class 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创建客户端与服务端连接,从数据库获取数据的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门