ソケット通信のbindでエラーコード 134のエラーが発生します。 – プログラミング – Home

ソケット通信のbindでエラーコード ...
 
通知
すべてクリア

ソケット通信のbindでエラーコード 134のエラーが発生します。


snow
 snow
(@snow)
ゲスト
結合: 23年前
投稿: 30
Topic starter  

C言語
Solaris

ソケット通信で、サーバ側の終了をCtrl+Cのシグナルを拾って行っています。
クライアントが接続、切断を行ったのち、サーバ側をCtrl+Cで終了した場合は、
再度サーバ側を起動しても、エラーが発生することはありません。

しかし、クライアントが接続、その後サーバ側をCtrl+Cで終了、
クライアント側はサーバが落ちた事を拾って終了。
すると、再度サーバ側を起動すると、bindで134のエラーが発生してしまいます。
errno.hを見ると”Address already in use”と書いてありましたが、
Ctrl+Cのシグナルを拾った後、
shutdown( socket);
close( socket );
としています。
shutdownではかならずエラーが発生していて、エラーコードが、134(Socket is not
connected)でした。
サーバ側からの終了後は、必ずbindでエラーが発生するものなのでしょうか?
それとも何か抜けているのでしょうか?
教えてください。


引用解決済
トピックタグ
YuO
 YuO
(@YuO)
ゲスト
結合: 24年前
投稿: 252
 

bindしたソケットは単純に待っているだけですから,
shutdownでシャットダウンを通知する相手はいません。
つまり,bindしたソケットに対してshutdownは不要です。

あと,ソケットを閉じるのはclosesocketです。


返信引用
snow
 snow
(@snow)
ゲスト
結合: 23年前
投稿: 30
Topic starter  

>YuO

遅くなりました。解決しました。ありがとうございます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました