[Armadillo:03018] Re: アルマジロ -220 について

Hirofumi Momose email@hidden
2008年 6月 18日 (水) 12:40:05 JST


例がありました。

http://www.ne.jp/asahi/hishidama/home/tech/lang/socket.html

O_NONBLOCKにすると、read()/write()なども非同期になりますので、その点は対
応が必要です。connect後に同期式に戻しても良いかもしれません。

あとよくやるのはwrite()なんかで、必ず一度に全データが書き込まれると思っ
ているかと思いますが、保証はありません。書き込み長をとって、引数のデータ
長と比較し、必要であればオフセットして再トライが必要です。

また、read()はwrite()した単位で出てくるわけではないです。これも初心者が
はまります。

-- 
Hirofumi Momose <email@hidden>


On Wed, 18 Jun 2008 10:04:24 +0900 (JST)
國井 <email@hidden> wrote:

> 國井です
> 早々のアドバイスありがとうございます。
> 非同期 非ブロッキング 方法があることまでわかりましたが
>> この方法の具体的ソース例ありましたお教えください。
> いまひとつ素人なので、実際の例ががありましたら紹介いただ
> けませんか?
> 以上
> 
> 
> --- Hirofumi Momose <email@hidden> wrote:
> 
> > 百瀬と申します。
> > 
> > やりかた1
> > 
> >
> connect()など、ブロッキングするシステムコールの前でalarm()
> をセットする。
> > シグナルハンドラのセットは必要だったような気がします。
> そうしないとBroken
> > Pipeで終了してしまうような。
> > 
> > やりかた2
> > 
> > ソケットを非同期モードにして、select()する。
> > 
> > 簡単なのはやりかた1です。
> > 
> > -- 
> > Hirofumi Momose <email@hidden>
> > 
> > 
> > On Tue, 17 Jun 2008 20:00:38 +0900 (JST)
> > 國井 <email@hidden> wrote:
> > 
> > > 國井と申します。
> > > ご存知の方見えましたらお願いします。
> > > 現在、ソケット通信を行っています。
> > >
> > ソケット作成して、コネクト(connect)するとき、相手がい
>> > >
> > いとタイムアウト時間が長い為、処理上不具合がある為、短
>> > > したい。
> > >
> > コネクトしてからタイムアウトする時間を3秒程度にする方
>> > > ご存知でいたら、お教えください。
> > > 以上
> > > 
> > > --------------------------------------
> > > GANBARE! NIPPON! Chance to win 50,000 Yahoo!
> > Points!
> > > http://pr.mail.yahoo.co.jp/ganbare-nippon/
> > > _______________________________________________
> > > armadillo mailing list
> > > email@hidden
> > >
> >
> http://lists.atmark-techno.com/mailman/listinfo/armadillo
> > > 
> > 
> > 
> > 
> > _______________________________________________
> > armadillo mailing list
> > email@hidden
> >
> http://lists.atmark-techno.com/mailman/listinfo/armadillo
> > 
> 
> 
> --------------------------------------
> GANBARE! NIPPON! Chance to win 50,000 Yahoo! Points!
> http://pr.mail.yahoo.co.jp/ganbare-nippon/
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/armadillo
> 






armadillo メーリングリストの案内