Skip to content

Commit f49f67f

Browse files
committed
TCP handling logic cleanup
1 parent dc00755 commit f49f67f

12 files changed

Lines changed: 450 additions & 333 deletions

examples/async_server.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1+
import asyncio
12
import sys
2-
from pythonosc.osc_server import AsyncIOOSCUDPServer
3+
34
from pythonosc.dispatcher import Dispatcher
4-
import asyncio
5+
from pythonosc.osc_server import AsyncIOOSCUDPServer
56

67

78
def filter_handler(address, *args):

examples/async_simple_tcp_client.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
import argparse
99
import asyncio
10+
import logging
1011
import random
11-
import sys
1212

1313
from pythonosc import tcp_client
1414

@@ -47,10 +47,6 @@ async def init_main():
4747
tg.create_task(send_messages(client))
4848

4949

50-
if sys.version_info >= (3, 7):
51-
asyncio.run(init_main())
52-
else:
53-
# TODO(python-upgrade): drop this once 3.6 is no longer supported
54-
event_loop = asyncio.get_event_loop()
55-
event_loop.run_until_complete(init_main())
56-
event_loop.close()
50+
if __name__ == "__main__":
51+
logging.basicConfig(level=logging.DEBUG)
52+
asyncio.run(init_main(), debug=True)

examples/async_tcp_server.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import argparse
22
import asyncio
3-
import sys
3+
import logging
44

55
from pythonosc.dispatcher import Dispatcher
66
from pythonosc.osc_tcp_server import AsyncOSCTCPServer
@@ -42,10 +42,6 @@ async def init_main():
4242
tg.create_task(loop())
4343

4444

45-
if sys.version_info >= (3, 7):
46-
asyncio.run(init_main())
47-
else:
48-
# TODO(python-upgrade): drop this once 3.6 is no longer supported
49-
event_loop = asyncio.get_event_loop()
50-
event_loop.run_until_complete(init_main())
51-
event_loop.close()
45+
if __name__ == "__main__":
46+
logging.basicConfig(level=logging.DEBUG)
47+
asyncio.run(init_main(), debug=True)

examples/simple_tcp_client.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,16 @@
55
"""
66

77
import argparse
8+
import logging
89
import random
10+
from random import randint
11+
from zlib import crc32
912

1013
from pythonosc import tcp_client
14+
from pythonosc.osc_tcp_server import FRAMING_BY_MODE, MODE_1_1
1115

1216
if __name__ == "__main__":
17+
logging.basicConfig(level=logging.DEBUG)
1318
parser = argparse.ArgumentParser()
1419
parser.add_argument("--ip", default="127.0.0.1", help="The ip of the OSC server")
1520
parser.add_argument(
@@ -27,6 +32,9 @@
2732
n = random.random()
2833
print(f"Sending /filter {n}")
2934
client.send_message("/filter", n)
35+
data = bytes(random.randint(0, 255) for i in range(randint(1, 10000)))
36+
print(f"Sending /crc {len(data)} bytes (should be {crc32(data):08X})")
37+
client.send_message("/crc", data)
3038
resp = client.get_messages(1)
3139
for r in resp:
3240
try:

examples/simple_tcp_server.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
"""
66

77
import argparse
8+
import logging
89
import math
10+
from zlib import crc32
911

1012
from pythonosc import osc_tcp_server
1113
from pythonosc.dispatcher import Dispatcher
@@ -23,6 +25,7 @@ def print_compute_handler(unused_addr, args, volume):
2325

2426

2527
if __name__ == "__main__":
28+
logging.basicConfig(level=logging.DEBUG)
2629
parser = argparse.ArgumentParser()
2730
parser.add_argument("--ip", default="127.0.0.1", help="The ip to listen on")
2831
parser.add_argument("--port", type=int, default=5005, help="The port to listen on")
@@ -36,6 +39,7 @@ def print_compute_handler(unused_addr, args, volume):
3639

3740
dispatcher = Dispatcher()
3841
dispatcher.map("/filter", print)
42+
dispatcher.map("/crc", lambda _, v: f"{crc32(v):08X}")
3943
dispatcher.map("/volume", print_volume_handler, "Volume")
4044
dispatcher.map("/logvolume", print_compute_handler, "Log volume", math.log)
4145

0 commit comments

Comments
 (0)