欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C#socket通訊兩個(gè)最經(jīng)典錯(cuò)誤解決方案

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


 

(2)、問題敘述

程序中的某個(gè)地方調(diào)用到了socket.close后,這個(gè)socket還被調(diào)用,就出爆出上面錯(cuò)誤!

(3)、解決方案

使用下面一句: 

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

stsend != null :這一句在socket.close之后,會(huì)無效的,因?yàn)殛P(guān)閉socket連接時(shí)已經(jīng)將其所有連接的資源都釋放了;故要與Connected全用;

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

擴(kuò)展說明:

所有非托管資源程序員必須能控制資源釋放,諸如數(shù)據(jù)庫連接,SOCKET連接等在使用后都應(yīng)當(dāng)顯示關(guān)閉,如果是長連接,在程序退出時(shí)應(yīng)當(dāng)確保所有占用的連接都被關(guān)閉。


2、經(jīng)典錯(cuò)誤之 "遠(yuǎn)程主機(jī)強(qiáng)迫關(guān)閉了一個(gè)現(xiàn)有的連接。"

(1)問題現(xiàn)場


 

(2)、問題敘述

   如下圖,對于網(wǎng)絡(luò)的經(jīng)典問題,由于是server和client中的任意一方主動(dòng)斷開連接,導(dǎo)致彈出 “遠(yuǎn)程主機(jī)強(qiáng)迫關(guān)閉了一個(gè)現(xiàn)在連接”的異常。這種情況,會(huì)導(dǎo)致程序提示異常,無法繼續(xù)往下執(zhí)行。

(3)、解決方案

可以通過異常處理的方式,通過異常來提示網(wǎng)絡(luò)不正常,從而跳出該程序分支,不至于因?yàn)楫惓栴}程序癱瘓!

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


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