专栏名称: Python小屋
清华出版社《Python程序设计》系列教材作者董付国的Python小屋。介绍Python基础语法知识、标准库、扩展库知识,探讨Python在各领域的应用。
目录
相关文章推荐
Python爱好者社区  ·  月薪3万35岁脑干出血程序员:ICU躺了28 ... ·  昨天  
Python爱好者社区  ·  务必立即拿下软考证(政策红利) ·  2 天前  
Python爱好者社区  ·  软考,yyds ·  昨天  
Python爱好者社区  ·  Science披露:近3年,垃圾论文激增,9 ... ·  2 天前  
51好读  ›  专栏  ›  Python小屋

使用Python开发SQLite代理服务器

Python小屋  · 公众号  · Python  · 2017-06-25 09:57

正文

请到「今天看啥」查看全文



sockServer = socket.socket()
sockServer.bind(( '' , 3030))
sockServer.listen(1)

while True :
# 接收客户端连接
try :
conn, addr = sockServer.accept()
except :
continue

sql = conn.recv(1024).decode('gbk').lower()

if sql.startswith(( 'update' , 'delete' , 'insert' )):
try :
# 首先发送要发送的字节总数量
# 然后再发送真实数据

result = str (doSql(sql)).encode( 'gbk' )
conn.send(struct.pack( 'i' , len (result)))
conn.send(result)
except :
message = b'error'
conn.send(struct.pack( 'i' , len (message)))
conn.send(message)
elif sql.startswith( 'select' ):
try :
result = str(getData(sql)).encode( 'gbk' )
conn.send(struct.pack( 'i' , len(result)))
conn.send(result)
except :
message = b'error'
conn.send(struct.pack( 'i' , len(message)))
conn.send(message)


代理程序:

##
# 代理服务器,在SQLite数据库服务器和客户端之间进行指令和数据的转发
# 这样可以把数据库和程序放到两个服务器上进行分离
##







请到「今天看啥」查看全文