diff --git a/task3.py b/task3.py
new file mode 100644
index 0000000000000000000000000000000000000000..920839bed3e6bea25e7ffb9572933ae91aac380d
--- /dev/null
+++ b/task3.py
@@ -0,0 +1,28 @@
+import asyncio
+import websockets
+import time
+import struct
+
+async def main_loop(uri):
+    async with websockets.connect(uri) as websocket:
+        await recv_and_decode_packet(websocket)
+        while True:
+            packet = struct.pack('<HHHH4s', 0, 542, len(b'1111'), checksum, b'1111')
+            await websocket.send(packet)
+            await recv_and_decode_packet(websocket)
+            time.sleep(1)
+
+def recv_and_decode_packet(websocket):
+    response = await websocket.recv()
+    print(f"Base64: {response}")
+    
+    decoded = struct.unpack('<HHHH4s', response)
+    print(f"Decoded Packet:\nSource Port: {decoded[0]}\nDest Port: {decoded[1]}\nData Length: {decoded[2]}\nChecksum: {decoded[3]}\nPayload: {decoded[4]}")
+
+def calculate_checksum(data):
+    # Implement your checksum calculation here
+    return checksum
+
+# Run the main loop
+asyncio.run(main_loop('ws://localhost:5612'))
+
diff --git a/worksheet3 b/worksheet3
new file mode 160000
index 0000000000000000000000000000000000000000..513c13c4573e1da6aa19acfaec07dcdf66b105f4
--- /dev/null
+++ b/worksheet3
@@ -0,0 +1 @@
+Subproject commit 513c13c4573e1da6aa19acfaec07dcdf66b105f4