[Armadillo:07394] Re: ソケット通信においてSO_REUSEADDRオプションが効かない
Sugitani Naoki
email@hidden
2011年 7月 13日 (水) 08:28:28 JST
To: 竹之下 殿
From: 杉谷@ChAS
毎々お世話になっております。
レスが遅くなり申し訳ありません。
> Linux側のコードを見せていただくことはできますか?
抜粋ですが、以下に示します。
pdfから手打ちで転記してますので、誤字がありましたらご容赦下さい。
int cs;
cs = socket(AF_INET, SOCK_STREAM, 0)
setsockopt(cs, SOL_SOCKET, SO_REUSEADDR, &sockopt, sizeof(sockopt));
bind(cs, (struct sockaddr *)&addr, sizeof(addr))
弊社システムでは、クライアント側もサーバ側も固定IPアドレス、
固定ポート番号での通信を行う必要があるため、SO_REUSEADDRオプションを
使用しております。
> (サーバーからクライアントに接続しに行くことがあるのでしょうか?)
サーバからクライアントへの接続はありません。
以上、よろしくお願いします。
> 竹之下です。
>
> Linux側がクライアントなのですね。
> SO_REUSEADDR は通常、サーバー側のソケットで指定するものだと
> 思うのですが、Linux側のコードを見せていただくことはできますか?
> 全体のコードではなく、該当部分だけで良いです。
>
> (サーバーからクライアントに接続しに行くことがあるのでしょうか?)
>
> (2011年07月11日 15:31), Sugitani Naoki wrote:
> > To: 各位
> > From: 杉谷@ChAS
> >
> > 千代田アドバンスト・ソリューションズの杉谷と申します。
> > 毎々お世話になっております。
> >
> > armadillo-220(linux)を使用してソケット通信クライアントを構築しております。
> > 通信の間隔を狭めたくてsocketコマンドのオプションにSO_REUSEADDRを
> > 指定し、TIME_WAIT中でも接続可能としておりますが、サーバの違いに
> > より挙動がことなっております。(添付ファイル参照)
> >
> > iTronで構築したサーバではSO_REUSEADDRが効かず、TIME_WAIT後
> > でないと接続できません。(期待しない挙動)
> > 一方、windowsで構築したサーバではTIME_WAIT中でも接続可能です。(期待する挙動)
> >
> > armadillo-220のlinuxでSO_REUSEADDRが無効になるような条件が
> > ありますでしょうか。
> >
> > お忙しいところ大変恐縮ですがご教示をお願いします。
> >
> >
> >
> >
> >
> > _______________________________________________
> > armadillo mailing list
> > email@hidden
> > http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
>
> --
> Koyo Takenoshita
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
armadillo メーリングリストの案内