I'd recommend TCP rather than UDP. TCP guarantees that your packets will get there, as opposed to UDP which does not.
Use UDP if you're not concerned with all of you datapackets getting to the recipient - e.g. for a Quake-style game, you would send UDP datagrams to let the client apps know where everyone else is.
UDP is faster but less reliable.
TCP is reliable.