Lesson learned: Apple's "high-level" SocketPort (which still takes raw sockaddr structs & AF_* ints) doesn't actually work for arbitrary messages, I guess, just silently drops them. Have to use the basic socket/bind/accept/recv to actually use a socket. Swift, of course, makes doing this sort of low-level pointer passing & casting a delight π
Seems unbelievable to me that that's no nice, high-level socket library for macOS, but π€·