「オープンソースハードウェアセミナーVol1」レポート Arduino Ethernet Libraryの問題。まだあるヨン [ATmarquino Arduino]
※デモサーバー http://hamayan.ddo.jp:8888/ ですが、調子に乗ってF5攻撃をしたら落ちましたね。
現在接続できません(笑)。ルーターが落ちた訳ではないです。
ええっと、もうこのお方のblogを読んでみて下さい。
記事へのリンク
http://todotani.cocolog-nifty.com/blog/2009/05/arduino-674f.html
または「PS3とLinux、電子工作も」さんのblogのトップ
http://todotani.cocolog-nifty.com/blog/
ここで指摘した問題以外に、ソケットクローズの時にもバグがあったようです。
問題なのはClient.cppのstop Methodで、
つまりソケットを強制的に閉じてからディスコネクトしていると言う話。トホホ、普通逆だろう。
これ以外にもEphemeral portを使っているつもりが、いつの間にかWell known portを使っているとかのバグ。Client::connectの中
あんたこれ、全然動作検証していないでしょう。
Arduinoのフォーラムには修正版が上がっているようなので、宜しければ差し替えた方が良さそうですね。
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1238640832/2
現在接続できません(笑)。ルーターが落ちた訳ではないです。
ええっと、もうこのお方のblogを読んでみて下さい。
記事へのリンク
http://todotani.cocolog-nifty.com/blog/2009/05/arduino-674f.html
または「PS3とLinux、電子工作も」さんのblogのトップ
http://todotani.cocolog-nifty.com/blog/
ここで指摘した問題以外に、ソケットクローズの時にもバグがあったようです。
問題なのはClient.cppのstop Methodで、
void Client::stop() { close(_sock); disconnect(_sock); EthernetClass::_server_port[_sock] = 0; }
つまりソケットを強制的に閉じてからディスコネクトしていると言う話。トホホ、普通逆だろう。
これ以外にもEphemeral portを使っているつもりが、いつの間にかWell known portを使っているとかのバグ。Client::connectの中
_srcport++; socket(_sock, Sn_MR_TCP, 1024 + _srcport, 0);
あんたこれ、全然動作検証していないでしょう。
Arduinoのフォーラムには修正版が上がっているようなので、宜しければ差し替えた方が良さそうですね。
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1238640832/2
2009-06-04 00:00
nice!(0)
コメント(3)
トラックバック(0)
> あんたこれ、全然動作検証していないでしょう。
いや、うちでは動いているので、お使いの環境の問題でしょう。
以下、自粛…
by noritan (2009-06-04 09:03)
なるほど、書いた奴の技術レベルがわかるってやつですね。
by JUN猫 (2009-06-04 23:00)
まあ私自身、プログラミング技術は駄目駄目なのであれなのですが、正式ライブラリの正式リリースなんだから、もう少しチェック体制をなんとかすべきじゃないかと思えますね。
使うのが”簡単”と言う話と、リリース前の検査が”簡単”は、同じ”簡単”でも全然違うし。
オープンソースの開発って、みんなこんな感じでやっているの?。
by hamayan (2009-06-05 01:53)