crzcas

UDP server (pixels lost)

Jan 18th, 2021
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.06 KB | None | 0 0
  1. # UDP Server with pixels lost
  2. import socket
  3. import pickle
  4. from fl_networking_tools import ImageViewer
  5.  
  6.  
  7. viewer = ImageViewer()
  8.  
  9. udp_server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  10. #udp_server.bind(("0.0.0.0", 20001))
  11. udp_server.bind(("127.0.0.1", 20001))
  12.  
  13. def get_pixel_data():
  14.     received_pixels = 0
  15.    
  16.     lost_pixels = 0
  17.     last_pixel_updated = (-1, -1)
  18.    
  19.     data, client_address = udp_server.recvfrom(1024)
  20.  
  21.  
  22.     while True:
  23.         data, client_address = udp_server.recvfrom(1024)
  24.         message = pickle.loads(data)
  25.         pos = message[0]
  26.         rgba = message[1]
  27.         received_pixels += 1
  28.         viewer.put_pixel(pos, rgba)
  29.         if (pos[0] - last_pixel_updated[0] > 1) or (pos[1] - last_pixel_updated[1] > 1):
  30.             lost_pixels += 1
  31.         viewer.text = " Pixels lost: " + str(lost_pixels)
  32.  
  33.         last_pixel_updated = pos
  34.         if message == ((9,9), (0,0,0,0)):
  35.             received_pixels -= 1
  36.             break
  37.  
  38.     print("Pixels lost: " + str(lost_pixels))
  39.  
  40.  
  41. viewer.start(get_pixel_data)
Advertisement
Add Comment
Please, Sign In to add comment