DSAPI中TCP、UDP、HTTP的选择

时间:2023-03-09 04:42:49
DSAPI中TCP、UDP、HTTP的选择

在DSAPI中,网络通讯主要有以下几种:
1 [TCP]
TCP服务端
TCP客户端

2 [UDP]
UDP服务端
UDP客户端
UDP指令版服务端
UDP指令版客户端

3 [HTTP]
HTTP服务端
(客户端由浏览器或任何能访问HTTP的函数或软件替代,DSAPI中未提供HTTP客户端)
HTTP指令版服务端
HTTP指令版客户端


对于以上这些,在开发网络通讯程序过程中如何选择呢?先看上述各服务端功能的主要服务对象:

TCP服务端

适用范围

需要高速通讯,且服务端主动推送信息

优    点

高速通讯、服务端主动传输

缺    点

必须服务端先开才能提供客户端连接、须自行维护一个断开重连机制

UDP服务端

适用范围

高速短数据量通讯(一般数据量不应超过65500字节)

优    点

高速通讯、服务端可延迟启动、无需事先建立连接

缺    点

数据量较小、不能确保一定发送成功,建议服务端和客户端双方做应答机制

UDP指令版服务端

适用范围

高速短数据量通讯(一般数据量不应超过65000字节),目前大部分物联网、工业通讯等正在使用DSAPI中的UDP指令版服务端

优    点

高速通讯、服务端可延迟启动、无需事先建立连接、传输过程加密、内置自动重发、通讯失败(或无返回数据)自动触发事件、内置客户端用户名密码数据传递,可允许或拒绝返回给客户端数据

缺    点

数据量较小、服务端不能主动推送数据给客户端

HTTP服务端

适用范围

WebAPI、小型静态网页和数据服务、网站公共数据接口

优    点

无需超高速通讯、服务端可延迟启动、无需事先建立连接、迷你IIS、可在任何支持http通讯的服务端和客户端使用、最大数据量默认200M以内(可更改)、无需架设IIS即可开始静态网页服务

缺    点

服务端不能主动推送数据给客户端

HTTP指令版服务端

适用范围

高速通讯,目前很多物联网、工业通讯、医院医药等正在使用DSAPI中的HTTP指令版服务端

优    点

高速通讯、服务端可延迟启动、无需事先建立连接、传输过程加密、内置自动重发、通讯失败(或无返回数据)自动触发事件、内置客户端用户名密码数据传递,可允许或拒绝返回给客户端数据

缺    点

服务端不能主动推送数据给客户端