socket技术难点
生活随笔
收集整理的這篇文章主要介紹了
socket技术难点
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、使用socket建立連接后,客戶端和服務端只要有一方使用close()或者dispose()關閉連接,對端在發送或接收時都會拋出異常:遠程主機強迫關閉了一個現有的連接。 2、使用TcpClient建立連接后,當客戶端在TcpClient實例上調用close()方法,或者在流上調用dispose()方法時: (1)服務端調用read()方法會持續返回0,但不會拋出異常,所以會產生無限循環,需要break出循環; (2)服務端調用write()方法會拋出異常:無法將數據寫入傳輸連接:?您的主機中的軟件中止了一個已建立的連接。。 (3)如果直接關閉掉客戶端,或者客戶端執行完畢沒有調用stream.dispose()或者TcpClient.Close(),則在調用read()方法時會拋出異常:?無法從傳輸連接中讀取數據:?遠程主機強迫關閉了一個現有的連接。。 3、使用TcpClient建立連接后,當服務端在TcpClient實例上調用close()方法,或者在流上調用dispose()方法時: (1)客戶端調用write()方法會拋出異常:無法將數據寫入傳輸連接:?您的主機中的軟件中止了一個已建立的連接。。 (2)如果直接關閉掉服務端,則調用write()方法會拋出異常:無法將數據寫入傳輸連接:?遠程主機強迫關閉了一個現有的連接。。 4、創建udp廣播套接字需要調用SetSocketOption,否則會拋出一場錯誤。udpSocket.SetSocketOption(SocketOptionLevel.Socket,?SocketOptionName.Broadcast,?1);
轉載于:https://www.cnblogs.com/liuslayer/p/8394831.html
總結
以上是生活随笔為你收集整理的socket技术难点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vault-图形界面
- 下一篇: 优化项目中树结构数据的操作