tcpip协议与服务器的关系,RS232转TCPIP的TCP工作模式选择

表1. TCP与UDP的区别

TCP

UDP

需要连接

占用线路

可靠传输

简单易用

支持广播

1.2 TCP客户端和TCP服务器的区别

在选择TCP进行通信的时候,通信的双方,必须一方为TCP客户端(TCP Client),一方为TCP服务器(TCP Server)。以打电话来类比,打电话的人是TCP客户端,接电话的一方为TCP服务器。TCP/IP协议中的IP地址类似电话号码,而TCP/IP中的端口号类似电话分机号。客户端(拨电话者),首先需要知道对方的IP地址和端口(电话号码和分机号),先连接上TCP服务器端(接听者的电话摘机),才能进行数据传输(通话)。和一般电话不同,在这里TCP服务器可以同时接入多个TCP客户端,就如有多路线路的电话,不会因为一路电话在接通中而不能接入其它电话。

在ZLSN联网模块的RS232转网络中,TCP的长连接和短连接。TCP长连接就是连接建立后不断开,直到断电。TCP短连接是指需要通信的时候建立连接,通信完毕后立即关闭连接。

2.工作模式的选择

2.1 TCP和UDP的选择

TCP协议有很多优点,这里只介绍何时使用UDP协议。

1.节省上位机的线路资源。在ZLSN模块的串口转以太网应用中,如果选择TCP协议,且为TCP客户端的话,那么TCP连接是在模块上电之后就开始连接的,属于“长连接”。这就使得TCP协议一直占用一条通信线路(一个socket接口),如果联网模块个数很多(例如上万个),那么用TCP协议占用较多资源。

2.简化上位机编程的复杂性。基于UDP的socket编程相对于TCP要简单些。

3.需要广播或者组播的应用。

2.2 客户端和服务器的选择

1. 一个监控中心还是多个监控中心。

一个监控中心:在单个监控中心的集中监控系统中,分散在各个采集点的ZLSN模块将采集数据传送到中心计算机,此时最好采用ZLSN模块为TCP客户端的方式,因为此时每个模块只要设置一个目的IP(中心计算机的IP地址)即可。当然也可以采用中心为客户端、模块为服务端方式,但是此时中心必须记住每个模块的IP地址,不利于系统的延展性和配置的灵活性。

多个监控中心:现在有多个中心计算机需要监控联网模块,由于TCP客户端模块只能连接一个中心,所以多个中心无法监控一个模块(除非或者采用卓岚的“硬件TCP/IP协议栈”功能,让模块可以根据需要连接到不同的中心)。此时应该采用模块为客户端的方式。

2.知道对方IP地址。如果通信的AB双方中如果有一方A不知道对方B的IP地址,那么A必须作为客户端。这是因为A不知道B的IP地址,也无法进行连接操作。在ZLSN联网模块大量应用的网络中,ZLSN联网模块的IP地址通过动态获取,所以中心并不知道所有模块的IP地址,所以此时模块应该作为客户端。

3.主从关系。在主从关系的通信模式中,主机总是先发送数据,从机给出应答。在TCP短连接应用中,主机应该采用客户端。这是因为短连接采用有数据发送的时候建立TCP连接的方式,只有主机才知道何时需要发送那个数据合适需要建立连接,所以主机为客户端。

2.3 TCP短连接和TCP长连接的选择

TCP短连接由于占用的TCP线路资源少,一般效率优于长连接。但是以下情况下采用长连接:通信的双方没有主从关系。任何一方都有首先发送数据的可能,所以要保持TCP连接一直保持。选择长连接的时候需要注意,在连接建立到当前,中间网线是否有断开,需要时时检测连接的可用性,短连接无该问题,使用较为方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值