wxpython下的简易socket服务端

我比较菜,一般只能依靠报错,所以看不出来这个代码的问题,求大佬指教
from socket import *
import time
import wx
import threading
import struct

class S(wx.Frame):
def init(self,parent):
wx.Frame.__init__(self,parent,wx.ID_ANY,title = '服务端', size = (700,500))

    #创建画板
    self.panel1 = wx.Panel(self,wx.ID_ANY)
    self.panel1.SetBackgroundColour("White")

    #创建按钮
    self.button1 = wx.Button(self.panel1,wx.ID_ANY,'发送', pos = (540,400),size = (50,25))
    self.Bind(wx.EVT_BUTTON,self.OnClick1,self.button1)

    #创建静态文本
    self.static1 = wx.StaticText(self.panel1,wx.ID_ANY,'输入消息',pos = (10,380))
    self.static1.SetBackgroundColour('White')

    #创建记录区域
    self.log1 = wx.TextCtrl(self.panel1, wx.ID_ANY,"",size = (620,310),pos = (10,60), style = wx.TE_MULTILINE|wx.TE_READONLY)

    #创建输入区域
    self.inputmsg1 = wx.TextCtrl(self.panel1, wx.ID_ANY,size = (520,25),style = wx.TE_PROCESS_ENTER,pos = (10,400))
    self.Bind(wx.EVT_TEXT_ENTER, self.OnClick1, self.inputmsg1)

    #连接
    self.addr1 = (gethostname(), 2000)
    self.ss = socket(AF_INET,SOCK_STREAM)
    self.ss.bind(self.addr1)
    self.ss.listen(2)
    self.data1 = (u"等待客户连接……\n")
    self.log1.AppendText(self.data1)
    self.cs,self.caddr = self.ss.accept()

    #显示
    self.Show(True)

    #text
    self.data1 = ''
    self.temp1 = ''
    self.msg1 = ''
    self.flag1 = True
    self.sendmsg1 = ''

def OnClick1(self,event):
    self.msg1 = self.inputmsg1.GetValue()
    self.sendmsg1 = (u"回复:%s\n" % (self.msg1))
    self.log1.AppendText(self.sendmsg1)
    self.cs.send(self.sendmsg1.encode())
    self.inputmsg1.Clear()

def run1(self):

    while True:
        self.data1 = cs.recv(1024)
        if not self.data1:
            self.cs.close()
            self.ss.close()
            break
        else:
            self.temp1 = str(self.data1,'utf-8')
            self.log1.AppendText(u'你好\n')
            self.log1.AppendText(self.temp1)


def start(self):
    thread1 = threading.Thread(target = self.run1)
    thread1.setDaemon(True)
    thread1.start()

app = wx.App(False)
frame1 = S(parent = None)
frame1.run1()
frame1.start()
app.MainLoop()

运行没有报错,但是出不来界面

图片说明

self.cs,self.caddr = self.ss.accept()会等待挂起
所以,应把下面这段放在#连接前面

    #显示
    self.Show(True)

    #text
    self.data1 = ''
    self.temp1 = ''
    self.msg1 = ''
    self.flag1 = True
    self.sendmsg1 = ''