tcpviewer_server.py 921 B

1234567891011121314151617181920212223242526272829303132333435
  1. # Echo server program
  2. import socket
  3. import multiprocessing
  4. import igl
  5. HOST = '' # Symbolic name meaning all available interfaces
  6. PORT = 50008 # Arbitrary non-privileged port
  7. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  8. s.bind((HOST, PORT))
  9. s.listen(1)
  10. try:
  11. while True:
  12. conn, addr = s.accept()
  13. print 'Connected by', addr
  14. data = ''
  15. while True:
  16. datanew = conn.recv(1024)
  17. if not datanew:
  18. break
  19. data = data+datanew
  20. conn.close()
  21. def worker(data):
  22. viewer = igl.viewer.Viewer()
  23. temp = list(data.decode('unicode_internal','ignore'))
  24. viewer.deserialize(temp)
  25. viewer.launch(True,False)
  26. return
  27. t = multiprocessing.Process(target=worker, args=(data,))
  28. t.start()
  29. except:
  30. print "Closing socket:"
  31. s.close()