import socket import cv2 import numpy as np import struct HOST = "0.0.0.0" # nasłuchuj na wszystkich interfejsach PORT = 9999 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind((HOST, PORT)) server_socket.listen(1) print("Serwer nasłuchuje na port", PORT) conn, addr = server_socket.accept() print("Połączono z:", addr) data = b"" payload_size = struct.calcsize("Q") # 8 bajtów na długość ramki while True: while len(data) < payload_size: packet = conn.recv(4096) if not packet: break data += packet if not data: break packed_msg_size = data[:payload_size] data = data[payload_size:] msg_size = struct.unpack("Q", packed_msg_size)[0] while len(data) < msg_size: data += conn.recv(4096) frame_data = data[:msg_size] data = data[msg_size:] frame = np.frombuffer(frame_data, dtype=np.uint8) frame = cv2.imdecode(frame, cv2.IMREAD_COLOR) cv2.imshow("Odebrany obraz", frame) if cv2.waitKey(1) & 0xFF == ord('q'): break conn.close() server_socket.close() cv2.destroyAllWindows()