Advertisement
JachyHm

PythonChatServeri

Oct 2nd, 2015
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. class Connection():
  2. def __init__ (self):
  3. self.r1 = Thread(target=self.start)
  4. self.r1.start()
  5. def start(self):
  6. self.serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  7. self.serversocket.bind(('', 62803))
  8. self.serversocket.listen(5)
  9. c.listen()
  10.  
  11. def rec(self):
  12. while True:
  13. print(self.jachym.recv(1024))
  14. def listen(self):
  15. (self.jachym, self.blLVA) = self.serversocket.accept()
  16. self.r = Thread(target=self.rec)
  17. self.r.start()
  18.  
  19. def send(self,data):
  20. self.jachym.sendall(bytes(data,'ASCII'))
  21.  
  22. c = Connection()
  23.  
  24. class Okno(Gtk.Window):
  25. def __init__(self):
  26. #Definuje funkci __start__
  27. Gtk.Window.__init__(self, title="Instant messaging (server)")
  28. #Vytvoří okno "Ahoj světe po síti"
  29. self.set_size_request(300, 100)
  30. #Definuje velikost 300 na 100 px
  31.  
  32. vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6)
  33. self.add(vbox)
  34. #Vytvoří TextBox
  35.  
  36. zobraz=c.prijata_data
  37. self.prijata = Gtk.TextView()
  38. self.prijata_buffer = self.prijata.get_buffer()
  39. self.prijata.set_editable(False)
  40.  
  41. self.entry = Gtk.Entry()
  42. self.entry.set_text("Sem zadejte zprávu")
  43. self.entry.progress_pulse()
  44. vbox.pack_start(self.entry, True, True, 1)
  45.  
  46. button = Gtk.Button.new_with_label("Odešli")
  47. button.connect("clicked", self.odesli)
  48. vbox.pack_start(button, True, True, 0)
  49.  
  50. button = Gtk.Button.new_with_label("Zavři")
  51. button.connect("clicked", self.konec)
  52. vbox.pack_start(button, True, True, 0)
  53. #Definuje tlačítko "pripoj_cudlo" s textem "přpoj"
  54. #Při zmáčknutí spustí funkci (self = vlastní, tzn. je definováno v té samé třídě) "odesli_zmack"
  55. #Definuje čudlo "pripoj_cudlo" s viditelností "true" a zmáčknutelností "true", nula nevím co dělá
  56.  
  57.  
  58. Enter=Thread(target=self.enter_klik)
  59. self.ip=""
  60. self.zprava=""
  61. Enter.start
  62. #Definuje proměnou ip s hodnotou:
  63.  
  64. def odesli(self, button):
  65. zprava=self.entry.get_text()
  66. c.send(zprava)
  67. self.entry.set_text("")
  68.  
  69.  
  70. #Definuje funkcii "odesli_zmack" navázanou na "pripoj_cudlo"
  71. #Zapíše do promměnné "ip" hodnotu z pole "ip_vstup"
  72.  
  73. def konec(self, button):
  74. Gtk.main_quit()
  75.  
  76.  
  77. win = Okno()
  78. win.connect("delete-event", Gtk.main_quit)
  79. win.show_all()
  80. Gtk.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement