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指令版服务端 |
|
优 点 |
高速通讯、服务端可延迟启动、无需事先建立连接、传输过程加密、内置自动重发、通讯失败(或无返回数据)自动触发事件、内置客户端用户名密码数据传递,可允许或拒绝返回给客户端数据 |
|
缺 点 |
服务端不能主动推送数据给客户端 |
DSAPI中TCP、UDP、HTTP的选择的更多相关文章
- TCP UDP 协议的选择
行业应用中TCP/IP传输协议和UDP协议的选择! 中国移动.中国联通推行的GPRS网络.CDMA网络已覆盖大量的区域,通过无线网络实现数据传输成为可 能.无线Modem采用GPRS.CDMA模块通过 ...
- 聊聊iOS中TCP / UDP 协议
TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于 传输层协议. UDP(User Datagram protoco ...
- 网络编程—网络基础概览、socket,TCP/UDP协议
网络基础概览 socket概览 socket模块—TCP/UDP的实现 TCP/UDP总结 网络基础概览 osi七层协议各层主要的协议 # 物理层传输电信号1010101010 # 数据链路层,以太网 ...
- 异常处理与网络基础中的tcp,udp协议
# 异常处理: # 什么是异常?异常和错误的区别 # Error 语法错误 比较明显的错误 在编译代码阶段就能检测出来 # Iteration 异常 在执行代码的过程中引发的异常 # 异常发生之后的效 ...
- Fixed-Length Frames 谈谈网络编程中应用层(基于TCP/UDP)的协议设计
http://blog.sina.com.cn/s/blog_48d4cf2d0101859x.html 谈谈网络编程中应用层(基于TCP/UDP)的协议设计 (2013-04-27 19:11:00 ...
- 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.1.1
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...
- 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.1.2
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...
- 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.0.1
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...
- 高性能 TCP & UDP 通信框架 HP-Socket v3.5.3
HP-Socket 是一套通用的高性能 TCP/UDP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP 通信系统,提供 C/C++.C#.Del ...
随机推荐
- PHP多进程消费队列
引言 最近开发一个小功能,用到了队列mcq,启动一个进程消费队列数据,后边发现一个进程处理不过来了,又加了一个进程,过了段时间又处理不过来了...... 这种方式每次都要修改crontab,如果进程挂 ...
- Python和Java的硬盘夜话
这是一个程序员的电脑硬盘,在一个叫做"学习"的目录下曾经生活着两个小程序,一个叫做Hello.java,即Java小子:另外一个叫做hello.c ,也就是C老头儿. C老头儿的命 ...
- CAS与OAuth2的区别
CAS与OAuth2的区别 一. CAS的单点登录时保障客户端的用户资源的安全 . OAuth2则是保障服务端的用户资源的安全 . 二. CAS客户端要获取的最终信息是,这个用户到底有没有权限访问我( ...
- 配置teredo,启用ipv6,xx-net
最近使用XX-NET科学上网 ,提示要配置使用IPv6.根据github的上win10配置ipv6方式(https://github.com/XX-net/XX-Net/wiki/IPv6-Win10 ...
- MYSQL复制原理及其流程
Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其他主机(slave)上,并重新执行一遍来实现 ...
- SSM-SpringMVC-29:SpringMVC中InitBinder的初步
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 之前博客的配置日期类型转换器,他是全局的,如果只是一个处理器中使用怎么办? 引出@InitBinder注解 ...
- Asp.net MVC + Redis(hash入库+log4net集成)
博客四元素 既然要写一个博客类的网站,那就应该知道博客的相关信息. 标题 作者 时间 内容 title author time content 因为之前有了解过Redis,所以有点纠结于数据的存储方式 ...
- DAY2-MySQL专业安装
MySQL安装 安装方法: 1.源码 2.二进制 (建议使用) 3.rpm (尽量不用) 一.下载MySQL: 一定要从官网下载,防止被勒索. 官网: http://dev/mysql.com 版本: ...
- 玩转Spring MVC(二)----MVC框架
早期程序员在编写代码时是没有一个规范的,系统的业务逻辑和数据库的访问时混合在一起的,不仅增加了大量的重复工作,而且增加了后期维护的难度. 后来,人们逐渐发现某些通用的功能是可以单独的封装起来的,这样就 ...
- redis list命令操作
1.将值追加到列表 RPUSH key value [value ...]summary: Append one or multiple values to a listsince: 1.0.0 12 ...