ネットワークプログラミング相談室 Port20
at TECH
488:デフォルトの名無しさん
07/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へ
}
単純に考えたらこれなんだけど、他に何か工夫あるかな?
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4447日前に更新/263 KB
担当:undef