Python Server/Client
Python Server/Client
我正在尝试在 python 中做一个自动售货机程序。
在客户端,我有 GUI 和交易、支付等。
在服务器端,我已将文件链接到 SQL,其中包含产品数量等。
我确实设法在客户购买产品时进行了一些修改。
我不知道该怎么做,我怎么能告诉我的服务器:
“每次收到交易时,检查并更新我的数据库”
你能指导我如何做到这一点吗?或者我可以换一种方式吗?
为了发送和接收数据,我使用套接字模块并在发送列表列表时使用 pickle。
我有 9 个产品,每个都包含一个 ID 、名称、价格和我必须更新的数量:
例如:
#recieve
updatestock = socket_client.recv(1024)
updatestock2 = pickle.loads(updatestock)
#send
server_message = pickle.dumps(stocklist)
socket_client.sendall(server_message)
#What i send
stocklist = [
['P001','ChocolateBar',35,15],
['...','...',..,..],
[etc]].
我希望你能在没有看到我所有代码的情况下帮助我,因为它真的是 long.Thank 你!
这是我的尝试:
while(True):
if socket_client.recv(1024):
updatestock = socket_client.recv(1024)
updatestock2 = pickle.loads(updatestock)
print(updatestock2)
if updatestock2 == "Quit":
break
else:
update()
mydb.close()
socket_client.close()
如您所见,打印收到的消息 updatestock2 没有给我任何信息,所以我认为这就是问题所在
我设法做了一个无限循环来识别这样的客户端消息:
while(True):
updatestock = socket_client.recv(1024) #wait for message
updatestock2 = pickle.loads(updatestock)
if updatestock2 != 0: #if message is not empty do these condition
if updatestock2 == "Quit":
break
elif updatestock2 == "Graph":
graph(stocklist,stock_status)
else:
update() #this update my Db
我正在尝试在 python 中做一个自动售货机程序。 在客户端,我有 GUI 和交易、支付等。 在服务器端,我已将文件链接到 SQL,其中包含产品数量等。
我确实设法在客户购买产品时进行了一些修改。 我不知道该怎么做,我怎么能告诉我的服务器: “每次收到交易时,检查并更新我的数据库” 你能指导我如何做到这一点吗?或者我可以换一种方式吗?
为了发送和接收数据,我使用套接字模块并在发送列表列表时使用 pickle。 我有 9 个产品,每个都包含一个 ID 、名称、价格和我必须更新的数量: 例如:
#recieve
updatestock = socket_client.recv(1024)
updatestock2 = pickle.loads(updatestock)
#send
server_message = pickle.dumps(stocklist)
socket_client.sendall(server_message)
#What i send
stocklist = [
['P001','ChocolateBar',35,15],
['...','...',..,..],
[etc]].
我希望你能在没有看到我所有代码的情况下帮助我,因为它真的是 long.Thank 你!
这是我的尝试:
while(True):
if socket_client.recv(1024):
updatestock = socket_client.recv(1024)
updatestock2 = pickle.loads(updatestock)
print(updatestock2)
if updatestock2 == "Quit":
break
else:
update()
mydb.close()
socket_client.close()
如您所见,打印收到的消息 updatestock2 没有给我任何信息,所以我认为这就是问题所在
我设法做了一个无限循环来识别这样的客户端消息:
while(True):
updatestock = socket_client.recv(1024) #wait for message
updatestock2 = pickle.loads(updatestock)
if updatestock2 != 0: #if message is not empty do these condition
if updatestock2 == "Quit":
break
elif updatestock2 == "Graph":
graph(stocklist,stock_status)
else:
update() #this update my Db