C#经常被忽略的常识1
1、C#通讯与数据库的桥梁是什么? 答案: DLL引用(SQLserver没有DLL引用,是因为DLL打包到System.Data里面了)
2、对于485通讯常识:485总线中主站轮训从站,是主动的一方。TCP/IP中客户端访问服务器,客户端是主动的一方,所以客户端是主,服务器是从。但从对应关系上来看,一主对多从,而一服务器对多个客户端。这是最初经常被误导的原因。
3、C#自动缩进排列代码的快捷键: ctrl + k + d
4、C# 快速添加引用: alt+enter
5、TCP/IP 通讯:服务器端的资源分配是在二次握手时分配的,而客户端的资源是在完成三次握手时分配的。(共享Socket通讯https://v.youku.com/v_show/id_xMzE5NTgxMzI0OA==.html?spm=a2hzp.8244740.0.0)
6、OPC读取数据方式3种:同步、异步、订阅。
7、能用foreach遍历访问的对象需要实现__IEnumerable___接口或声明__GetEnumerator___方法的类型。
8、ISO模型:


9、为什么建立连接是三次握手,而关闭连接却是四次挥手呢? 答案:
这是因为服务端在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。而关闭连接时,当收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,己方也未必全部数据都发送给对方了,所以己方可以立即close,也可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送。
10、为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?答案: 原因有二:
一、保证TCP协议的全双工连接能够可靠关闭
二、保证这次连接的重复数据段从网络中消失。
11、C# 如何从代码转化为可执行的机器语言(C#代码---编译器exe----JIT编译器--机器码--操作系统):如下图所示:

12、OPC UA通讯位于ISO模型那一层,如下图所示:

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