Nothing blocks Nostr clients from sending Nostr events to one another directly, without a relay. 
Both clients need to be online and show some IP that the other will connect into. Totally feasible. 
We can even use a Push Notification server to send phone to phone messages with background apps. But that's kinda like having a relay in the middle. 
 
            