首页 > 解决方案 > 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()

标签: kivykivymd

解决方案


推荐阅读