- 488 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:19:32 ]
- >>487
受け取る側の実装が、さ>めんどくさい ところで一般的なデータの送受信を行う際に、 効率の良いやり方はどんな感じなんだろう? TAP <--> NIC <------------> NIC <--> TAP のようなtap間のやりとりをするプログラムを作っているんだが、 max = MAX(NIC,TAP); while(1){ FD_ZERO(&read); FD_ZERO(&write); if ( 出力バッファ > 0 ) FD_SET(NIC, &write); if ( 入力バッファ > 0 ) FD_SET(TAP, &write); FD_SET(NIC, &read); FD_SET(TAP, &read); select(max+1, &read, &write); if ( FD_ISSET(NIC,&read) ) NICから入力バッファへ if ( FD_ISSET(TAP,&read) ) TAPから出力バッファへ if ( FD_ISSET(NIC,&write) ) 出力バッファをNICへ if ( FD_ISSET(TAP,&write) ) 入力バッファをTAPへ } 単純に考えたらこれなんだけど、他に何か工夫あるかな?
|

|