kivy - Kivy 套接字编程
问题描述
我是 kivy 编程的新手。我想将消息从套接字服务器发送到套接字 kivy 客户端。当我从服务器向客户端发送消息时,我刚刚编写了一个程序,客户端只收到一次。我只需要每当我从服务器发送消息时,客户端应该获取服务器消息并显示在 kivy 应用程序中。
服务器.py
enter code here
import socket
import time
def Main():
host = "localhost"
port = 8080
mySocket = socket.socket()
mySocket.bind((host,port))
mySocket.listen(1)
print("socket is Listeining")
conn, addr = mySocket.accept()
print ("Connection from: " + str(addr))
while True:
data =input('enter:')
conn.send(data.encode())
conn.close()
if __name__ == '__main__':
Main()
kivy_client.py
import kivy
import socket
kivy.require("1.9.1")
from kivy.app import App
# if you not import label and use it it through error
from kivy.uix.label import Label
class MyLabelApp(kivy.app.App):
lbl=None
def tt(self):
host = 'localhost'
port = 8080
mySocket = socket.socket()
mySocket.connect((host, port))
data = mySocket.recv(1024).decode()
print('*****************************', data)
return (data)
def build(self):
#self.name=name
# label display the text on screen
l=self.tt()
name=l
#print('rrrrrrrrrrrrrrrrrr',name)
return Label(text=str(name), font_size=40)
label = MyLabelApp()
if __name__ == '__main__':
label().run()
解决方案
推荐阅读
- reactjs - 更换 redux 工具包商店或其他方式拥有两个商店
- node.js - ('%02x'): 节点 Js 中的格式(数字)
- python - 我想打印 1 到 20 之间的所有完美数字
- javascript - 如何使用 JS 输入的数字不会超过容器而只是转到下一行?
- windows - 如何从 Windows 10 的开始菜单中取消固定预安装的应用程序
- python - 如何根据条件从旧数据框创建新数据框
- firebase - FirebaseAuth 注销表现出奇怪的行为
- ios - Websocket 连接意外关闭
- excel - 获取响应生成错误:运行时错误 91:未设置块变量的对象变量
- amazon-ec2 - Terraform - 在每个可用区创建 ec2 实例