Changes between Version 43 and Version 44 of Dev


Ignore:
Timestamp:
May 11, 2013 4:50:36 PM (11 years ago)
Author:
mitty
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Dev

    v43 v44  
    3434 > 
    3535 > Thus, today, there really should be no difference between AF_foo and PF_foo. 
     36 
    3637 * [http://d.hatena.ne.jp/enakai00/20120522/1337650181 PF_PACKETの仕組み - めもめも] 
     38 > Socketをオープンする際のお作法(呪文?)は次のとおりで、通常は、第一引数に「PF_INET」(もしくはAF_INET)を指定します。 
     39 > {{{ 
     40 > sock = socket(PF_INET, SOCK_STREAM, htons(ETH_P_IP)); 
     41 > }}} 
     42 > ここに「PF_PACKET」を指定することで、受信直後の生パケットをユーザ空間のアプリケーションで受け取ることができるようになります。これは、パケットのコピーを受け取っているだけなので、このパケットを受け取るべき本来のアプリケーションにもちゃんと同じパケットは届きます。 
     43 
     44 * [http://togetter.com/li/283316 TCP socketではwriteの後すぐにcloseしてはいけない - Togetter] 
     45 > TCP socketではwriteの後すぐにcloseしてはいけない。 
     46 > 相手側に全てのデータが届いてからcloseする必要がある。 
     47 > shutdown で書き込み側だけハーフクローズするとよい。 
     48 > 相手側がcloseしてから、こちらをcloseする。相手側がcloseしたことは、readを呼んでブロックさせておくと、読み込みバイト数==0 つまりEOFになったことでわかる。 
    3749 
    3850 = C/C++ =