Skip to main content

ログ取得ツール

Category: コンピュータ

CLIEのクッキー

clieclub.jpのプレゼント(clieclub.jp)で見かけたのだが、こんなもの(miyavix.co.jp)があった。ちょっと欲しいかも。つけたままクレイドルにつなげられないというのが残念だが。4000円くらいで売ってるらしい。気が向いたら買うことにしよう。 ところでこれ、記事には相対リンクもあるみたいなので、修正が必要。

TCPでsendmsg()を使う

TCPでsendmsgによりiovecでscatter/gatherなバッファから送信した場合。 MTUにおさまる限り、正しく1つのパケットになります。etherealで角煮を…じゃない、確認してみた。まあ当然そうあるべき、と思っていたがちゃんと確認したのは初めて。コピーがどう起こるのかは知らない。 カーネル(TCPドライバ? Etherドライバ?)がユーザ空間からのコピーついでにつなげてるのか、Etherのハードまでs/gでいってハードがつなげて送ってるのかは知らない。まあでもTCPだし1つのバッファにコピーしてるんだろうな。まあそんなことはどうでもいい。使おうこれ。 …後で読んでも意味不明だろうな。


#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

int main(int argc, char **argv)
{
  int s, flags=0, r;
  struct msghdr msg;
  struct iovec iov[2];
  struct sockaddr_in addr;
  int addrlen=sizeof(addr);
  const char *testdata1="test.\n";
  const char *testdata2="test2.\n";
  
  s=socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
  if(s==-1){ perror("socket"); return -1; }
  addr.sin_family=PF_INET;
  addr.sin_port=htons(9999);
  addr.sin_addr.s_addr=inet_addr("XXX.XXX.XXX.XXX");
  r=connect(s, &addr, addrlen);
  if(r==-1){ perror("connect"); return -1; }
  iov[0].iov_base=testdata1;
  iov[0].iov_len=strlen(testdata1);
  iov[1].iov_base=testdata2;
  iov[1].iov_len=strlen(testdata2);
  msg.msg_name=NULL;
  msg.msg_namelen=0;
  msg.msg_iov=iov;
  msg.msg_iovlen=2;
  msg.msg_control=NULL;
  msg.msg_controllen=0;
  msg.msg_flags=0;  // MSG_OOB|MSG_DONTROUTE|MSG_DONTWAIT|MSG_NOSIGNAL
  r=sendmsg(s, &msg, flags);
  printf("sendmsg(%d, %p, %d)=%d\n", s, &msg, flags, r);
  if(r==-1){
    perror("sendmsg");
  }
  close(s);
  return 0;
}

(前略)
0020  XX XX b4 61 27 0f c3 81  52 18 c3 98 f6 75 80 11   XX.a'... R....u..
0030  7f ff 5b d2 00 00 01 01  08 0a 00 d9 9b c7 00 d9   ..[..... ........
0040  9b c7 74 65 73 74 2e 0a  74 65 73 74 32 2e 0a      ..test.. test2.. 
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

アドレスを隠す意味などあるのだろうか??

未来のブックマーク

トップページを手抜きで整備していて思ったのは、RDF/RSSは未来のブックマークなのではないかということだ。ブックマークに登録したいのはページそのものであることもあるが、実はサイトを登録したいことが多い。これが自動的に記事の中身やタイトルまで最新のものに更新されるツリー構造になっていてほしいわけ。 たぶん、誰もhttp://www.asahi.com/(asahi.com)なんてブックマークしたくない。仮にhttp://bulknews.net/rss/rdf.cgi?Asahi(bulknews.net)をブックマークしておけば、トップはもちろんのこと、最新の記事まで飛べるだけの情報があるでしょ(bulknewsのリンクはワンクッションあるのがアレだが)。メニューを開くだけで、ページの中身を見ずに更新情報が見える。無駄なアクセスを減らせるではないか。広告さえ見えりゃいいなら、RDF/RSSのオプショナルに定義されている(?)画像とかに広告情報を埋め込んじゃえばいいじゃん。世の中はまだ不便だ。 だから、ブックマークにRDF/RSSを登録すると、更新情報が見やすいいい感じのメニューとして見えてくれるとちょっとうれしい。galeonやってくんねーかなー。wishlistにでも出そうかな。ブラウザ系だと、Mozilla FirebirdにはRSS Reader Panel(moo.jp)ちゅうものがあるらしい。やはりブックマークのエクステンションみたいな感じに見える。ちょっと使ってみたがなかなかいい感じ。ブックマークは全部こうなりゃいいんだよ。 (追記) 2003-08-01 10:46 ていうかブックマークについてはコンテンツをキャッシュしてほしいのとコメントをちゃんと書きたいというので、今の私はこのblogをブックマークとして扱っているのだが…。

Firebird 0.6.1

Mozilla Firebird 0.6.1が出てたよ。入れてみた。見た感じ、悪くはなってない。でもどこが良くなっているのかというと…まあ、マイナーバグフィックスらしいし。 リリースノート(mozilla.org)によれば、

  • Fix for the auto-complete crash bug
  • Fix for the DOM security restriction bug that broke many bookmarklets
  • contentEditable support
  • Brushed up default theme, including updated toolbar icons
  • New application icon

とのこと。

NECが中研を売る

NECが中央研究所を売り払うらしい、と今朝の日経に書いてあった。…探したけど、もしかしてコレ(nec.co.jp)のことかな?? (追記) 2003-08-01 09:41 ZDNetにも記事(zdnet.co.jp)は出ていたが…日経のほうのタイトルのつけかたがちょっと違うんじゃないのか。あるいはNECが、実は売り払うということをわかりにくく発表したのかな?