C#經(jīng)常被忽略的常識1
1、C#通訊與數(shù)據(jù)庫的橋梁是什么?? 答案: ?DLL引用(SQLserver沒有DLL引用,是因?yàn)镈LL打包到System.Data里面了)
2、對于485通訊常識:485總線中主站輪訓(xùn)從站,是主動的一方。TCP/IP中客戶端訪問服務(wù)器,客戶端是主動的一方,所以客戶端是主,服務(wù)器是從。但從對應(yīng)關(guān)系上來看,一主對多從,而一服務(wù)器對多個客戶端。這是最初經(jīng)常被誤導(dǎo)的原因。
3、C#自動縮進(jìn)排列代碼的快捷鍵: ?ctrl + k + d
4、C# 快速添加引用: alt+enter
5、TCP/IP 通訊:服務(wù)器端的資源分配是在二次握手時分配的,而客戶端的資源是在完成三次握手時分配的。(共享Socket通訊https://v.youku.com/v_show/id_xMzE5NTgxMzI0OA==.html?spm=a2hzp.8244740.0.0)
6、OPC讀取數(shù)據(jù)方式3種:同步、異步、訂閱。
7、能用foreach遍歷訪問的對象需要實(shí)現(xiàn)__IEnumerable___接口或聲明__GetEnumerator___方法的類型。
8、ISO模型:


9、為什么建立連接是三次握手,而關(guān)閉連接卻是四次揮手呢? 答案:
這是因?yàn)榉?wù)端在LISTEN狀態(tài)下,收到建立連接請求的SYN報(bào)文后,把ACK和SYN放在一個報(bào)文里發(fā)送給客戶端。而關(guān)閉連接時,當(dāng)收到對方的FIN報(bào)文時,僅僅表示對方不再發(fā)送數(shù)據(jù)了但是還能接收數(shù)據(jù),己方也未必全部數(shù)據(jù)都發(fā)送給對方了,所以己方可以立即close,也可以發(fā)送一些數(shù)據(jù)給對方后,再發(fā)送FIN報(bào)文給對方來表示同意現(xiàn)在關(guān)閉連接,因此,己方ACK和FIN一般都會分開發(fā)送。
10、為什么TIME_WAIT狀態(tài)需要經(jīng)過2MSL(最大報(bào)文段生存時間)才能返回到CLOSE狀態(tài)?答案: 原因有二:
一、保證TCP協(xié)議的全雙工連接能夠可靠關(guān)閉?
二、保證這次連接的重復(fù)數(shù)據(jù)段從網(wǎng)絡(luò)中消失。
11、C# 如何從代碼轉(zhuǎn)化為可執(zhí)行的機(jī)器語言(C#代碼---編譯器exe----JIT編譯器--機(jī)器碼--操作系統(tǒng)):如下圖所示:

12、OPC UA通訊位于ISO模型那一層,如下圖所示:

13、Mini8溫控器:序列號:D7047-10F10-607C0-0C855
Author:? HK
Date? :? ?2021-09-16-21:00
Address:SZ?