2016-04-30 72 views
0

套接字異常:對等崩潰與套接字關閉(本地或遠程)。套接字異常:對端崩潰與套接字關閉(本地或遠程)

我想我的代碼的條件分支:

  • 遠程端點上的遠程插槽稱爲close()
  • 遠程終端異常地閃爍。
  • 我自己的代碼在本地套接字上調用close()

有時候,我叫close()我自己的Socket對象上,使其從呼叫恢復到readObject()相關(流)。這導致SocketException

另外兩種情況呢?他們是否會拋出我的代碼可以分支的其他一些Exception類型?

+0

對於一個優雅的關閉我發送一個毒丸消息,並讓另一端關閉連接。 –

回答

0

至少對於你想要的關閉:只要發送一個數據包,字符串或字節(無論你想要什麼),告訴遠程連接,套接字將被關閉。然後遠程處理程序也可以關閉套接字。

如果其中一個套接字被關閉,並且遠程夥伴試圖進一步讀取它,它將得到一個異常(我不記得確切的異常,但它是你需要捕獲的其中之一),您也可以捕捉並關閉遠程端的套接字。