91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C#socket通訊兩個最經典錯誤解決方案

admin
2017年4月12日 1:19 本文熱度 7296
1、經典錯誤之 無法訪問已釋放的對象。 對象名:“System.Net.Sockets.Socket”
 
(1)、問題現場


 

(2)、問題敘述

程序中的某個地方調用到了socket.close后,這個socket還被調用,就出爆出上面錯誤!

(3)、解決方案

使用下面一句: 

if (stsend != null && stsend.Connected)

stsend != null :這一句在socket.close之后,會無效的,因為關閉socket連接時已經將其所有連接的資源都釋放了;故要與Connected全用;

stsend.Connected:獲取一個值,該值指示 Socket上次操作是Send還是Receive形式連接到遠程主機,如果都不是,那就是斷開了。

擴展說明:

所有非托管資源程序員必須能控制資源釋放,諸如數據庫連接,SOCKET連接等在使用后都應當顯示關閉,如果是長連接,在程序退出時應當確保所有占用的連接都被關閉。


2、經典錯誤之 "遠程主機強迫關閉了一個現有的連接。"

(1)問題現場


 

(2)、問題敘述

   如下圖,對于網絡的經典問題,由于是server和client中的任意一方主動斷開連接,導致彈出 “遠程主機強迫關閉了一個現在連接”的異常。這種情況,會導致程序提示異常,無法繼續往下執行。

(3)、解決方案

可以通過異常處理的方式,通過異常來提示網絡不正常,從而跳出該程序分支,不至于因為異常問題程序癱瘓!

如下圖,一Catch到這類System.Net.Sockets.SocketException異常(當然這里把它設為Exceptioin異常,抓取的范圍更廣),那么就用MessageBox給用戶一個提示,然后從該分支退出就行了。


該文章在 2017/4/12 1:21:54 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 欧美性色欧美a | 精品国产午夜大片 | 韩国三级私人教练 | 九七电影网手机版 | 91国在线精品 | 国产激情国语对白 | 国产主播福利在线 | 91福利在线视 | 青青草人人 | 日韩免费的一 | 欧美日韩色另类综合 | 日本阿v视频免 | 国产盗摄在线观看 | 国产精品专区第1页 | 国产高清超 | 九九热在| 国产熟女乱子伦露 | 成人97视频 | 国产香蕉尹人在线 | 国产丝袜jk福利 | 国内偷拍第一页 | 福利九九 | 97人人看 | 国产高清自偷自 | 国产免费mv大全视 | 精品亚洲a∨ | 日产2025免费一 | 国产午夜一区二 | 国产ts手机在线 | 日本在线成人 | 国产区图片 | 日本最新成人精品 | 精品国产a自拍 | 日韩专区中文字幕 | 成人影片在线官网 | 中文字幕国产一区 | 国产福利一区二区 | 91干屁| 欧美亚洲国产经典 | 91午夜视频 | 3D成人动漫网站 |