Advertisement
Guest User

Untitled

a guest
Mar 29th, 2020
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.15 KB | None | 0 0
  1. from fl_networking_tools import ImageViewer
  2. import socket
  3. import pickle
  4.  
  5. received_pixels = expected_pixels = 0
  6. last_pixel_updated = (-1, -1)
  7. max_x = max_y = 0
  8.  
  9. def get_pixel_data():
  10.     global last_pixel_updated, max_x, max_y, received_pixels, expected_pixels
  11.    
  12.     while True:
  13.         #unpack data
  14.         data, client_addr = udp_server.recvfrom(1024)
  15.         msg = pickle.loads(data)
  16.         pos = msg[0]
  17.         rgba = msg[1]
  18.  
  19.         #compare to expected
  20.         if (pos[0] > max_x):
  21.             max_x = pos[0]
  22.             expected_pixels = (max_x+1) * (max_y+1)
  23.         if (pos[1] > max_y):
  24.             max_y = pos[1]
  25.             expected_pixels = (max_x+1) * (max_y+1)
  26.         received_pixels += 1
  27.        
  28.         # update viewer
  29.         viewer.put_pixel(pos, rgba)
  30.         viewer.text = f"Pixels not received = {expected_pixels - received_pixels}, expected = {expected_pixels}, received = {received_pixels}, max_x = {max_x}, max_y = {max_y}"
  31.         last_pixel_updated = pos
  32.        
  33. udp_server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  34. udp_server.bind(("0.0.0.0", 20001))
  35.  
  36. viewer = ImageViewer()
  37. viewer.start(get_pixel_data)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement