Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/04/2013, 13:56
Avatar de counsantor2d
counsantor2d
 
Fecha de Ingreso: junio-2012
Ubicación: Maracaibo
Mensajes: 12
Antigüedad: 12 años, 5 meses
Puntos: 1
Pregunta correr un MainLoop() y serve_forever()

tengo el siguiente problema con mi codigo pasa que cuando ejecuto la aplicacion servidor abre el frame pero cuando corro el cliente y envio algo para conectarse con el server este se pega creo que algo anda mal que puedo hacer ?

Mi codigo:

Código Python:
Ver original
  1. import SocketServer, wx
  2.  
  3. class MyTCPHandler(SocketServer.BaseRequestHandler, wx.Frame):
  4.             def __init__(self):
  5.                     parent, id, title = None, -1, 'jespy'
  6.                     wx.Frame.__init__(self, parent, id, title, wx.DefaultPosition, wx.Size(250, 50))
  7.                     self.panel_1 = wx.Panel(self, wx.ID_ANY)
  8.                     self.panel_1.SetMinSize((320, 220))
  9.                     self.textochat = wx.TextCtrl(self, wx.ID_ANY, style = wx.TE_MULTILINE| wx.TE_READONLY)
  10.                     self.textochat.SetMinSize((320, 220))
  11.                     toolbar = self.CreateToolBar()
  12.                     self.power = toolbar.AddLabelTool(wx.ID_ANY, 'Quit', wx.Bitmap('power.png'))
  13.                     self.refresh = toolbar.AddLabelTool(wx.ID_ANY, 'Refresh', wx.Bitmap('refresh.png'))
  14.                     toolbar.Realize()
  15.                     self.text_ctrl_1 = wx.TextCtrl(self, wx.ID_ANY, "")
  16.                     self.text_ctrl_1.SetMinSize((320, 40))
  17.                     self.botones = wx.Button(self, wx.ID_ANY, ("Enviar"))
  18.                     self.panel_1.SetBackgroundColour(wx.Colour(255,255,255))
  19.                     self.textochat.SetBackgroundColour(wx.Colour(255,255,255))
  20.                     sizer_1 = wx.BoxSizer(wx.VERTICAL)
  21.                     sizer_2 = wx.BoxSizer(wx.VERTICAL)
  22.                     sizer_3 = wx.BoxSizer(wx.VERTICAL)
  23.                     sizer_2.Add(self.textochat, 0, wx.EXPAND, 0)
  24.                     sizer_2.Add(sizer_3, 1, wx.EXPAND, 0)
  25.                     sizer_1.Add(sizer_2, 1, wx.EXPAND, 0)
  26.                     self.SetSizer(sizer_1)
  27.                     sizer_1.Fit(self)
  28.      
  29.             def handle(self):
  30.                     self.data = self.request.recv(1024).strip()
  31.                     self.request.sendall(self.data.upper())
  32.                     print self.data
  33.      
  34.      
  35.     try:
  36.             HOST, PORT = "localhost", 6063
  37.             server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler)
  38.             ip = server.server_address
  39.             print ip
  40.             class appjes(wx.App):
  41.                     def OnInit(self):
  42.                             frame = MyTCPHandler()
  43.                             frame.SetBackgroundColour(wx.Colour(71,159,221))
  44.                             frame.Show(True)
  45.                             frame.Centre()
  46.                             return True
  47.             app = appjes(0)
  48.             app.MainLoop()
  49.             server.serve_forever()
  50.     except SocketServer.error as e:
  51.             print "el cliente se desconecto"