Steam has a mechanism allowing you to send packets to another Steam user.
It's totally feasible to create a game's netcode using this system.
You need to set up a callback so you can authorize who can send you messages
Then just call something like this regularly
Your HandleMessageFrom function should look like this
There are less garbage creating versions of some of the functions here on the SteamNetworking class.
Although the p2p stuff is easy and will work out for a lot of situations, you should look at SteamNetworkingSockets if you're planning to make a game with client/server architecture with 10+ players sending updates multiple times a second.