Python3:简单的服务器(socketserver + MySQL)

本文通过实例介绍如何使用Python3和socketserver模块搭建服务器,并实现与MySQL数据库的连接及基本操作。涵盖用户登录、注册、游戏成绩更新等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文将用实例讲解使用Python3编写简单的服务器程序,实现socket网络编程与MySQL数据库连接。本文的目的在于对网上众多博文的总结,以及对socket编程和MySQL连接与操作的学习总结。 本文不会像众多博文那样,如同教科书一般,详细地讲解socketserver和pymysql模块中有什么东西、各自有什么用,而是实例中用到了什么就讲什么。至于模块的详细讲解与分析,可以看看其他的博文或者源码。

数据库连接与操作

class Database:
    def __init__(self, host, user, password, database):
        try:
            self.conn = pymysql.connect(host, user, password, database)
            self.cursor = self.conn.cursor
        except:
            print("Error: connect mysql error")

    def self_sql(self, sql):
        try:
            self.cursor.execute(sql)
            self.conn.commit()
            return self.cursor.fetchall()
        except:
            return -1

Python3使用pymysql模块实现MySQL数据库连接与操作,而Python2连接MySQL需要使用MySQLdb模块。使用pip安装:
pip3 install pymysql
使用前先import。
下面讲解上面的代码:
初始化函数init()需要传递的参数分别为数据库服务器的地址、账户、密码和库名。connect()连接数据库,返回一个Connection对象(有兴趣的可以翻翻源码),之后可以通过该对象的cursor来操作数据库。
在Database类中定义了一个self_sql()函数,参数sql为SQL语句,类型是字符串。execute()执行SQL;fetchall()会获得SQL执行返回的所有结果。若要只获得SQL执行返回的第一个结果,可用fetchone()。SQL执行返回的数据是元组,需要注意处理。

socketserver

class Server(socketserver.BaseRequestHandler):
    def __init__
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值