资源简介

Python的TCP通信,带界面实现,不是那种黑屏的。用户可以输入数据,点击发送按钮实现

资源截图

代码片段和文件信息

from tkinter import *
import socketthreading
# 进入消息循环

def acceptMessage(socktext):
    while True:
        text.insert(END“[Other‘s Message] :“ + (sock.recv(1024)).decode() + ‘\n‘)

class Chat:

    def processSendButton(self):
        self.s.send((self.Message.get().encode()))
        self.text.insert(END‘[You Message]:‘ + self.Message.get() + ‘\n‘)


    def processlinkButton(self):
        self.s = socket.socket(socket.AF_INETsocket.SOCK_STREAM) #创建 socket 对象
        host = socket.gethostname() #获取本地主机名
        port= 502
        self.s.connect((hostport))
        self.text.insert(END‘linked\n‘)
        sendmessage=acceptMessage
        t = threading.Thread(target=sendmessageargs=(self.sself.text))
        t.start()

    def __init__(self):
        window = Tk()
        #设置标题
        window.title(‘Chat‘)
        #创建文本输入框
        self.text =Text(window)
        self.text.pack()


        #设置框架
        frame1 = frame(window)
        frame1.pack()
        #创建label
        label = Label(frame1text=‘从机地址‘)
        #label.pack()

        label2 = Label(frame1text=‘功能码(3:写 4:读)‘)
        #label2.pack()
        label3 = Label(frame1text=‘存储器地址‘)

        self.Message = StringVar()
        entryMessage = Entry(frame1textvariable=self.Message)

        self.Message2 = StringVar()
        entryMessage2 = Entry(frame1textvariable=self.Message2)

        self.Message3 = StringVar()
        entryMessage3 = Entry(frame1textvariable=self.Message3)

        
        
        btSend = Button(frame1text=‘Send‘command=self.processSendButton)#只有第一个属性设置frame才能 grid 否则 pack
        btlink = Button(frame1text=‘link‘command=self.processlinkButton)
        # btlink.pack() #button只能pack()

        #设置元素位置
        label.grid(row=1column=1)
        entryMessage.grid(row=1column=2)
        
        label2.grid(row=1column=3)
        entryMessage2.grid(row=1column=4)

        label3.grid(row=1column=5)
        entryMessage3.grid(row=1column=6)

    
        
        btSend.grid(row=1column=15)
        btlink.grid(row=2column=7)
        #self.text.insert(END“\t\t\t\t----------------\n\t\t\t\tWecolme to Chat \n\t\t\t\tEnjoy youself \n\t\t\t\t----------------\n\n\n“)
        self.text.tag_config(‘star‘background=‘yellow‘)


        window.mainloop()

Chat()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1526  2018-12-02 19:44  Server.py

     文件       2519  2018-12-02 20:29  Client.py

----------- ---------  ---------- -----  ----

                 4045                    2


评论

共有 条评论