DPlay can do both TCP and UDP. 3DGS switched to a pure UDP implemenation after 6.4.

A more accurate statement is that it uses winsock instead of Dplay which would make sense since it's so low level application.