2009年9月6日日曜日

UDPing

どうも、最近はPlanet boysならぬSocket BoysなQです、こんちには。

IPでpingが通ったので、今度はUDPでデータの送って返すだけのプログラムを作ってみますた。

やっとUDPでPingが成功したわけですが、まあ実際に目に見える形に持っていく、というのはそれ自体が結構大変でした。まあしょうもないミスを連発してるんですが(笑)
受け取ったデータをヘッダ分しか確保してない配列に代入してみたり、チェックサムの範囲を間違えてたり、shortサイズのチェックサムを奇数byte-stringにやってみたり、ポインタが指すアドレスじゃなくてポインタそのもののアドレスに代入してみたり…
んで、紆余曲折を経て何とかバグを修正して…もなぜかPC側で拾えない。ポートは開いているのに、と思ったらなんとfirewallではじかれているとは…
ICMPは超重要です。

さて、ソケットプログラミング、というのも少しずつ見えてきたし、最低限の相互通信も出来るようになった。次のプラネタリウムはLANで制御…かもしれない(笑)ぶっちゃけ意味があるかというと…。ま、技術が好きな人なら手を出したくなるものではあるよねっていう。

USBとLAN、どっち?って聞いたらそりゃLANでしょう。あと、ネタでちょっとやってみたいことがあるので。

さて、次へ行こう。





プログラム
書いても寝ても
動かない