其他分享
首页 > 其他分享> > 客户端

客户端

作者:互联网

from tkinter import *
import socket
import threading
from tkinter.filedialog import askopenfilenames


class Client1:
    def __init__(self):
        self.start1()
    def __del__(self):
        self.client1.close()
    def start1(self):
        self.init1 = Tk()
        self.init1.title("客户端聊天工具")
        self.init1.geometry('500x600')
        self.init1["bg"] = 'pink'
        self.init1.attributes("-alpha", 0.8)
        self.text3 = Text(self.init1, width=40, height=2)
        self.text3.place(x=20, y=330)
        self.text3.insert("end", "192.168.0.103")
        self.bu1 = Button(self.init1, text="连接",command=self.link)
        self.bu1.place(x=330, y=330)
        self.text1 = Text(self.init1, width=60, height=20)
        self.text1.place(x=20, y=50)
        self.w = Label(self.init1, text="客户端信息框", width=60)
        self.w.place(x=20, y=20)
        self.bu = Button(self.init1, text="发送",command=self.add1)
        self.bu.place(x=20, y=430)
        self.text2 = Text(self.init1, width=25, height=3)
        self.text2.place(x=80, y=430)
        self.init1.mainloop()

    def link(self):
        temp = self.text3.get(1.0, END)
        temp = temp[:-1]
        print(len(temp))
        self.client1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.client1.connect((temp, 8080))
        self.text1.insert("end", f"连接{temp}成功!" + "\n"+"\n")
        self.init1.after(1000, self.get2)

    def upload(self):
        askopenfilenames()




    def get2(self):
        t = threading.Thread(target=self.get1)

        #t.setDaemon(True)

        t.start()

        self.init1.after(1000, self.get2)

    def get1(self):
        msg = self.client1.recv(1024)

        if msg is not None:
            msg = msg.decode('utf-8')

        self.text1.insert("end", "服务端发来的消息:" + msg + "\n")

    def add1(self):
        temp = self.text2.get(1.0, "end")

        temp1 = temp

        self.client1.send(temp1.encode('utf-8'))

        self.text1.insert("end", "你发送的消息:" + temp + "\n")

        self.text2.delete(1.0, "end")



a = Client1()

 

标签:20,temp,self,place,init1,def,客户端
来源: https://www.cnblogs.com/q1231/p/16222713.html