import wx
import socket
port=8888
class sb(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,'T_client',size=(320,300))
panel=wx.Panel(self)
self.ip=wx.TextCtrl(panel,-1,pos=(10,30),size=(130,20))
self.text=wx.TextCtrl(panel,-1,pos=(10,235),size=(240,20))
self.bt_connect=wx.Button(panel,-1,"connect",pos=(150,30),size=(60,20))
self.bt_text=wx.Button(panel,-1,"send",pos=(250,200),size=(50,65))
self.Bind(wx.EVT_BUTTON,self.onconnect,self.bt_connect)
self.Bind(wx.EVT_BUTTON,self.onsend,self.bt_text)
def onconnect(self,event):
addr=self.ip.GetValue()
s.connect((addr,port))
def onsend(self,event):
msg=self.text.GetValue()
msg+='\0'
s.sendall(msg)
if __name__=='__main__':
app=wx.App()
frame=sb(parent=None,id=-1)
frame.Show()
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
app.MainLoop()
s.close() 在最后app.MainLoop()是如何循环的?是循环执行class sb吗,还是怎么执行(有没有什么可以单步运行的软件。。。)?
还有一个问题,最后关闭s.close()函数放在最后对吗?还是应该放在什么地方?
最后,谢谢大家!!