Guest User

Untitled

a guest
Jan 20th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. import socket
  2. import threading
  3. import socketserver
  4.  
  5. class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
  6.  
  7. def handle(self):
  8. data = self.request.recv(1024)
  9. cur_thread = threading.current_thread()
  10. response = "{}: {}".format(cur_thread.name, data)
  11. self.request.sendall(b'worked')
  12.  
  13. class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
  14. pass
  15.  
  16. def client(ip, port, message):
  17. sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  18. sock.connect((ip, port))
  19. try:
  20. sock.sendall(message)
  21. response = sock.recv(1024)
  22. print("Received: {}".format(response))
  23. finally:
  24. sock.close()
  25.  
  26. if __name__ == "__main__":
  27. # Port 0 means to select an arbitrary unused port
  28. HOST, PORT = "192.168.2.129", 9000
  29.  
  30. server = ThreadedTCPServer((HOST, PORT), ThreadedTCPRequestHandler)
  31. ip, port = server.server_address
  32.  
  33. # Start a thread with the server -- that thread will then start one
  34. # more thread for each request
  35. server_thread = threading.Thread(target=server.serve_forever)
  36. # Exit the server thread when the main thread terminates
  37. server_thread.daemon = True
  38. server_thread.start()
  39. print("Server loop running in thread:", server_thread.name)
  40. ip = '12.34.56.789'
  41. print(ip, port)
  42.  
  43. client(ip, port, b'Hello World 1')
  44. client(ip, port, b'Hello World 2')
  45. client(ip, port, b'Hello World 3')
  46.  
  47. server.shutdown()
  48.  
  49. Traceback (most recent call last):
  50. File "C:UsersDr.FrevDesktopserverTest.py", line 43, in <module>
  51. client(ip, port, b'Hello World 1')
  52. File "C:UsersDr.FrevDesktopserverTest.py", line 18, in client
  53. sock.connect((ip, port))
  54. socket.error: [Errno 10061] No connection could be made because the target machine
  55. actively refused it
Add Comment
Please, Sign In to add comment