Sure you could use sockets but then you need to have implement stuff like congestion control, handle network thread, occasional ping, etc.
Why try reinventing the (tcp-)wheel when you could use RakNet which has an indie friendly license, zero royalty if game has less than 100K revenue.
I think it is possible to create a RakNet wrapper for lua, but personally find it just best to digg in with C++ (more control).
If anyone are interested in a good RakNet tutorial (C++ based):