TCP поднялся быстро, но и тут подводные камни)) В UDP ip и port источника необходимо вычитывать из буфера приёмника и устанавливать вручную. В TCP данные параметры автоматически прописываются в соответствующие регистры. Да и сам алгоритм работы с TCP чуть сложнее:
open -> listen -> <ждём входящий пакет> -> read -> connect -> write -> close
В UDP:
open -> <ждём входящий пакет> -> read -> write
Нужно садится за написание HTTP-сервера с поддержкой ssi и cgi.