Advertisement
Guest User

Untitled

a guest
Feb 20th, 2020
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. #sender
  2. from PIL import Image
  3. from random import randint
  4. import pickle
  5. import socket
  6.  
  7. udp_client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  8.  
  9. image = Image.open("small_image.bmp")
  10.  
  11. width, height = image.size
  12.  
  13. print(width,height)
  14. pixels_lost = 0
  15. for y in range(height):
  16. for x in range(width):
  17. pos = (x,y)
  18. rgba = image.getpixel(pos)
  19. print(pos,rgba)
  20. message = (pos,rgba)
  21. data = pickle.dumps(message)
  22. if randint(0,10)>0:
  23. udp_client.sendto(data,("127.0.0.1",20001))
  24. else:
  25. pixels_lost += 1
  26. print(pixels_lost)
  27.  
  28. #receiver
  29. from fl_networking_tools import ImageViewer
  30. import socket
  31. import pickle
  32.  
  33. def get_pixel_data():
  34. lost_pixels = 0
  35. last_pixel_updated = (-1, -1)
  36. while True:
  37. data, client_address = udp_server.recvfrom(1024)
  38. message = pickle.loads(data)
  39. pos = message[0]
  40. rgba = message[1]
  41. viewer.put_pixel(pos,rgba)
  42. if (pos[0] - last_pixel_updated[0] > 1) or (pos[1] - last_pixel_updated[1] > 1):
  43. lost_pixels += 1
  44. viewer.text = lost_pixels
  45. print(lost_pixels)
  46. print(lost_pixels)
  47. last_pixel_updated = pos
  48.  
  49.  
  50.  
  51. viewer = ImageViewer()
  52.  
  53. udp_server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  54. udp_server.bind(("0.0.0.0",20001))
  55.  
  56. viewer.start(get_pixel_data)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement