Tkinter 实现带界面的client与server端程序,tkinterclient,Python Tkint
Tkinter 实现带界面的client与server端程序,tkinterclient,Python Tkint
Python Tkinter 实现带界面的client与server端程序1.[文件] client.py~1KB
import Tkinterimport socket# www.iplaypy.com class window: def __init__(self,root): label1=Tkinter.Label(root,text='IP') label2=Tkinter.Label(root,text='PORT') label3=Tkinter.Label(root,text='DATA') label1.place(x=5,y=5) label2.place(x=30,y=5) label3.place(x=35,y=5) self.entryIP=Tkinter.Entry(root) self.entryIP.insert(Tkinter.END,'127.0.0.1') self.entryport=Tkinter.Entry(root) self.entryport.insert(Tkinter.END,'1051') self.entrydata=Tkinter.Entry(root) self.entrydata.insert(Tkinter.END,'hello') self.Recv=Tkinter.Text(root) self.entryIP.place(x=40,y=5) self.entryport.place(x=40,y=30) self.entrydata.place(x=40,y=55) self.Recv.place(y=115) self.send=Tkinter.Button(root,text='send',command=self.send) self.send.place(x=40,y=80) def send(self): try: self.entryIP.get() port=int(self.entryport.get()) data=self.entrydata.get() client=socket.socket(socket.AF_INET,socket.SOCK_STREAM) client.send(data) rdata=client.recv(1024) self.Recv.insert(Tkinter.END,rdata.decode()) client.close() except: self.Recv.insert(Tkinter.END,'error')root=Tkinter.Tk()window=window(root)root.mainloop()
2.[文件] threading_1.py~2KB
import threadingimport Tkinterimport socketclass ListenThread(threading.Thread): def __init__(self,edit,server): threading.Thread.__init__(self) self.edit=edit self.server=server def run(self): while 1: try: client,addr=self.server.accept() self.edit.insert(Tkinter.END,'connect from:%s:%d\n' % addr) data=client.recv(1024) self.edit.insert(Tkinter.END,'receive data:%s \n' % data) client.send(str('i get:%s' % data).encode()) client.close() self.edit.insert(Tkinter.END,'close client\n') except: self.edit.insert(Tkinter.END,'close connect\n') breakclass control(threading.Thread): def __init__(self,edit): threading.Thread.__init__(self) self.edit=edit self.event=threading.Event() self.event.clear() def run(self): server=socket.socket(socket.AF_INET,socket.SOCK_STREAM) server.bind(('',1051)) server.listen(2) self.edit.insert(Tkinter.END,'connect...\n') self.lt=ListenThread(self.edit,server) self.lt.setDaemon(True) self.lt.start() self.event.wait() server.close() def stop(): self.event.set()class window: def __init__(self,root): self.root=root self.butlisten=Tkinter.Button(root,text='start',command=self.listen) self.butlisten.place(x=20,y=15) self.butclose=Tkinter.Button(root,text='colse',command=self.close) self.butclose.place(x=120,y=15) self.edit=Tkinter.Text(root) self.edit.place(y=50) def listen(self): self.ctr=control(self.edit) self.ctr.setDaemon(True) self.ctr.start() def close(self): self.ctr.stop()root=Tkinter.Tk()window=window(root)root.mainloop()
编橙之家文章,
相关内容
- 利用ip反查指定域名,利用ip指定域名,利用ip反查指定域
- python石头, 剪刀, 布源码,python源码,python写的石头,剪
- python smtplib实现的邮件功能,pythonsmtplib,基于smtplib实现
- 随机双色球中奖号码python代码,中奖号码python,爬前10
- python同步重庆时时彩的数据到本地,,依赖mysql,requ
- Python自动识别现接serial端口名称,pythonserial,Python自动识
- python 图灵机器人测试,python机器人测试,python 图灵机器
- Python实现论坛自动签到,python论坛签到,参考了各位大神
- python class实现模拟购物车代码,python购物车,<python
- Python有道字典查询单词,python有道字典,在Ubuntu下,Py
评论关闭