プロトコルはどのように切り替えますか?

Startメソッドに渡すプロトコルを変更するだけです。

例えば、TCP/IPからUDPに変更する場合:

// TCP/IPサーバー
deliverer->Start(UProtocolFactory::CreateProtocolTcpIpServer(9099), ...);

// UDP送信者
deliverer->Start(UProtocolFactory::CreateProtocolUdpSocketSender("192.168.0.100", 9099), ...);