うひょ様、どちらでも良いような気がします(機能的には)が
新しいもの(2の方)を使用した方が無難な気がします。
もしくは
実際に両方使ってみる(テストスクリプトなんかを組んでみて)のはいかがでしょうか?
hitochan様、通信するだけであればそのとおりなのですが
93様がおっしゃるようにUDPはデーターの整合性を取る必要があります。
必要な制御としては、
・データーが正しいか判定する(チェックサムのようなもの)
・データー到着を確認する(SYN/ACKフラグのようなもの)
・再送を行う機構と、余計なパケットを排除する機構(トランザクションIDみたいなもの)
…とても面倒です。が、勉強の意味で作成するのも良いかもしれません。
少々話題がそれますが
七次元様
UPnP NAT TraversalがUDPポートしかマッピングできないとの事でしょうか?
それは初耳です。情報の出所がわかれば是非ご教示ください。
(もしくはNATに対してUPnPパケットを投げられるという意味でしょうか?
それとも、UDP hole punchingの類の事でしょうか?)
あと、UPnPコントローラを作成するためには、
UPnPプロトコルスタックをある程度理解する必要が無いのでしょうか?
それよりも、ポート転送を書きにいく方が入門としては正しい気がしますが
七次元様は実装されてらっしゃるということでしょうか?
もしそうでしたら、UPnPのプロトコルに関して解説いただければ、幸いです。
わたしも、UPnPはまだ勉強中なもので…
ところで、ウェルノンポート(1023までのポート番号)も
別に自分が使っていなければ使っても支障は出ませんが
FTPなどのポートは、ルーターがFTPのポートモードの制御を行う可能性があります。
使っている環境によっても変わってきますが、注意が必要なので使用しない方が無難ですね…
また、ウェルノンポート以外でも、他の通信に使用されているものもあります。
それらのポートを使用するアプリケーションを使っている場合には注意が必要でしょう。
詳しくは
http://www.vwnet.jp/mura/tcpip-port.htm
が参考になると思います。