client.py 1022 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/usr/bin/env python
  2. import socket
  3. import select
  4. import random
  5. import peerfinder_pb2 as pf
  6. SERVER = ("::1", 9999)
  7. def test_socket():
  8. s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
  9. s.settimeout(random.randint(2, 8))
  10. s.connect(SERVER)
  11. while True:
  12. try:
  13. data = s.recv(1024)
  14. print(data)
  15. if len(data) == 0:
  16. break
  17. msg = pf.Message()
  18. msg.ParseFromString(data)
  19. if msg.type == pf.Message.Pong:
  20. print("Got pong")
  21. else:
  22. target = msg.target
  23. print(target)
  24. except socket.timeout:
  25. print("Sending heartbeat")
  26. msg = pf.Message()
  27. msg.type = pf.Message.Ping
  28. s.send(msg.SerializeToString())
  29. def test_protobuf():
  30. a = pf.IPAddress()
  31. a.address = "2001:db8::1"
  32. a.family = pf.IPAddress.IPV6
  33. print(a.SerializeToString())
  34. if __name__ == '__main__':
  35. #test_protobuf()
  36. test_socket()