SSブログ

「オープンソースハードウェアセミナーVol1」レポート Arduino Ethernet Libraryの問題。まだあるヨン [ATmarquino Arduino]

※デモサーバー http://hamayan.ddo.jp:8888/ ですが、調子に乗ってF5攻撃をしたら落ちましたね。
現在接続できません(笑)。ルーターが落ちた訳ではないです。

Img_1427.jpgええっと、もうこのお方の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

Arduinoモニタープログラム参加中
電子部品・半導体の通販サイト - チップワンストップ




詳解TCP/IP〈Vol.1〉プロトコル

詳解TCP/IP〈Vol.1〉プロトコル

  • 作者: W.リチャード スティーヴンス
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2000/12
  • メディア: 単行本



マスタリングTCP/IP 入門編 第4版

マスタリングTCP/IP 入門編 第4版

  • 作者: 竹下 隆史
  • 出版社/メーカー: オーム社
  • 発売日: 2007/02/24
  • メディア: 大型本



TCP/IPソケットプログラミング C言語編

TCP/IPソケットプログラミング C言語編

  • 作者: Michael J. Donahoo
  • 出版社/メーカー: オーム社
  • 発売日: 2003/05
  • メディア: 単行本



nice!(0)  コメント(3)  トラックバック(0) 

nice! 0

コメント 3

noritan

> あんたこれ、全然動作検証していないでしょう。
いや、うちでは動いているので、お使いの環境の問題でしょう。



以下、自粛…

by noritan (2009-06-04 09:03) 

JUN猫

なるほど、書いた奴の技術レベルがわかるってやつですね。
by JUN猫 (2009-06-04 23:00) 

hamayan

まあ私自身、プログラミング技術は駄目駄目なのであれなのですが、正式ライブラリの正式リリースなんだから、もう少しチェック体制をなんとかすべきじゃないかと思えますね。

使うのが”簡単”と言う話と、リリース前の検査が”簡単”は、同じ”簡単”でも全然違うし。

オープンソースの開発って、みんなこんな感じでやっているの?。
by hamayan (2009-06-05 01:53) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。