Forward Mavlink messges between two programs

I have a simple mavproxy instance which I start using the following command:

mavproxy.py --master tcp:10.173.115.97:5760 --out udp:127.0.0.1:14551 --out udp:127.0.0.1:14552

the master is a Raspberry pi running SITL, and the two outs are going to python programs which I hope to use to communicate both with the SITL and with one another. I can communicate with SITL, but cannot communicate with one another. Messages sent from one program are not being received by the other.

In the sender application, I have:

the_connection.mavutil.mavlink_connection(‘udp:localhost:14552’)
the_connection.mav.command_long_send(3,0,33333,0,2,0,0,0,0,0,0)

In the receive application, I have:

the_connection = mavutil.mavlink_connection(“udp:localhost:14551”, source_system=3)

msg = the_connection.recv_match(type=‘COMMAND_LONG’, blocking=True)
if msg:
print(f"Received COMMAND_LONG: {msg}")

No matter what I try, I cannot get these messages to work. I can send arm messages and control the SITL, but cannot get the messages to forward between the programs. Any help would be greatly appreciated. Thank you!