MES面试问题整理
C#、Oracle、MES
一、当多个Client同时发送信息时,Server怎么保证信息不出错?Socket处理信息的方式?
1、进程同步和异步
同步
两个通信应用服务之间必须要进行同步且两个服务之间必须都是正常运行的。发送程序和接收程序都必须一直处于运行状态,并且随时做好相互通信的准备。发送程序首先向接收程序发起一个请求,称之为发送信息,发送程序紧接着就会堵塞当前自身的进程,不与其他应用进行任何的通信以及交互,等待接收程序的响应,待发送消息得到接收程序的返回消息之后会继续向下运行,进行下一步的业务处理,也就是说事情必须一件一件做,前一件做完了才能做下一件。
异步
两个通信应用之间可以不用同时在线等待,任何一方只需各自处理自己的业务,比如发送消息以后不用等待接收方的响应,可以接着处理其他的任务。也就是说发送方和接收方都是相互独立存在的,发送方只管发送,接收方只能接收,不用等待对方的响应。
2、同步和异步传输
同步
同步传输通常以数据块为单位,每个数据块的开头和结尾都要附加一个特殊的字符或比特序列来标记一个数据块的开始和结束,一般还要附加一个校验序列(