資源簡介
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
評論
共有 條評論