APP开发关于实现TCP/IP概述,深圳APP开发公司开发工程师结合自身多年的行业实战经验,归纳整理出我们在APP开发时如何解决TCP/IP的问题,首先我们分为,协议简介、TCP和UDP的区别进行分步讲解。
1.协议简介大多数APP都要通过网络连接服务器,网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。最常用的TCP/IP通常被认为是一个4层协议系统。
TCP/IP协议族的每一层分别负责不同的功能,从下到到上各层功能如下所述。链路层,有时也称作数据链路层或网络接口层。通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡,它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。网络层,有时也称作互联网层。它负责处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议)、ICMP协议(Internet互联网控制报文协议)和IGMP协议(Internet组管理协议)。传输层,主要为两台主机上的应用程序提供端到端的通信。
在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。应用层负责包装和解析数据,它支持的应用层协议有:文件传输协议FTP、电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议NNTP、HTTP和XMPP协议等。
2.TCP和UDP的区别
面向连接服务 TCP提供的是面向连接服务,传输数据要经过以下3个阶段。数据传输前先建立连接。连接建立后再传输数据。数据传送完后,释放连接。TCP所做的工作包括将应用程序交给它的数据分成合适的小块交给下面的网络层、确认接收到的分组和设置发送最后确认分组的超时时钟等,从而确保数据传送的次序和传输的可靠性。由于传输层提供了高可靠性的端到端的通信,应用层可以忽略这些细节。
3.无连接服务
UDP提供的是无连接服务,即只有传输数据阶段,消除了除数据通信外的其他开销,只要发送实体是活跃的,无须接收实体是活跃的。UDP传送数据前并不与对方建立连接,对接收到的数据也不发送确认信号,发送端不知道数据是否会正确接收,当然也不用重发。UDP只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性由应用层来提供。UDP在底层协议的封装上没有采用类似TCP的“三次握手”,且不必进行收发数据的确认。其优点是开销小、数据传输速率高、实时性更好;但无连接服务不能防止报文的丢失、重复或失序,是一种不可靠的数据传输协议。开发人员可以自己实现对UDP的数据收发进行验证,比如发送方对每个数据包进行编号,然后由接收方进行验证,确保数据传送的次序和传输的可靠性。区分TCP和UDP特别简单,就好比打电话和写信。两个人如果要通电话,必须先建立连接——拨号,等待应答后才能相互传递信息,最后还要释放连接——挂电话;写信就没有那么复杂了,地址和姓名填好以后直接往邮筒一扔就可以了。好了,APP开发公司本文关于“APP开发关于实现TCP/IP概述”的知识我们就分享到这里,谢谢关注,博纳网络编辑整理。