アプリ版:「スタンプのみでお礼する」機能のリリースについて

javaでソケット接続するプログラムを作成しています。ソケット接続の以下のエラーがたまに発生するのですが、このエラーが出た際、回避方法がわかりません。どのようにしたら再度ソケット接続を行なえるのでしょうか?

以下エラー内容です。


java.net.ConnectException: failed to connect to /192.168.10.12 (port 50000): connect failed: ENOBUFS (No buffer space available)

お詳しい方、よろしくお願いします!

A 回答 (1件)

コネクション確立のためのシステムリソース(バッファ)が足りませんというエラーだと思いますが、アプリケーションの中でSoketをop

enしっぱなしで放置しているといったことはないでしょうか?

この回答への補足

ご回答ありがとうございます!socketはshutdownOutputを毎度行いますが、これだとinput側は生き続けてることになって半分open状態ってことになる?のでしょうか。。だとすると、システムリソースを食い続けてる事になっていそうです。 また、更に疑問がわいてきました。socketを毎回closeするようにすれば、その時点でシステムリソースは開放されるのでしょうか? また、一度closeしたsocketインスタンスは接続しようとすると isclosed 状態が返って来て接続できません。 一度closeしたソケットインスタンスは再利用はできないのでしょうか?

補足日時:2015/01/08 10:49
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!