Advertisement
Guest User

jython socket select

a guest
Dec 28th, 2014
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1.  
  2. import threading
  3. import time
  4. import select
  5.  
  6. import socket
  7.  
  8. def serverSocket(port,backlog = 5):
  9. """
  10. creates a listening socket for the server
  11. port = port number to listen to
  12. backlog = number of backlog sockets
  13.  
  14. """
  15. serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  16. serversocket.bind((socket.gethostname(), port))
  17. serversocket.listen(backlog)
  18.  
  19. return serversocket
  20.  
  21. def clientSocket(address, port):
  22. """
  23. address = creates a client socket to connect to some server
  24. port = port number to connect to
  25. """
  26. clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  27. clientsocket.connect((address, port))
  28.  
  29. return clientsocket
  30.  
  31. def server():
  32.  
  33. serverSock = serverSocket(12000)
  34. sock, address = serverSock.accept()
  35.  
  36.  
  37. for x in range(5):
  38. r,w,e = select.select([sock],[],[])
  39. sock=r[0]
  40. print "server:", sock.read(1024)
  41.  
  42. serverSock.close()
  43. def client():
  44.  
  45. sock = clientSocket(socket.gethostname(), 12000)
  46. for x in range(5):
  47. print "client sending: test"
  48.  
  49. sock.send("test")
  50. time.sleep(0.5)
  51.  
  52. sock.close()
  53.  
  54.  
  55. if __name__ == "__main__":
  56.  
  57. print "starting server thread"
  58. serverThread = threading.Thread(target = server)
  59. serverThread.start()
  60.  
  61. time.sleep(0.1)
  62.  
  63. print "starting client thread"
  64. clientThread = threading.Thread(target = client)
  65. clientThread.start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement