Skip to content

Commit 339a31e

Browse files
Fix: Handle UnicodeDecodeError and suppress exceptions for Motive 3 compatibility
1 parent 6e3c90f commit 339a31e

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

natnet/nat_net_client.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,10 @@ def __process_socket(
141141
try:
142142
data, addr = in_socket.recvfrom(recv_buffer_size)
143143
if len(data) > 0:
144-
self.__process_message(PacketBuffer(data))
144+
try:
145+
self.__process_message(PacketBuffer(data))
146+
except Exception as e:
147+
print(f"Warning: Failed to process packet: {e}")
145148
return True
146149
except (BlockingIOError, socket.timeout):
147150
pass

natnet/packet_buffer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def read_string(
2121
else:
2222
data_slice = self.__data[self.pointer : self.pointer + max_length]
2323
str_enc, separator, remainder = bytes(data_slice).partition(b"\0")
24-
str_dec = str_enc.decode("utf-8")
24+
str_dec = str_enc.decode("utf-8", errors="replace")
2525
if static_length:
2626
assert max_length is not None
2727
self.pointer += max_length

0 commit comments

Comments
 (0)