其他分享
首页 > 其他分享> > 基于TCP的Socket通信

基于TCP的Socket通信

作者:互联网

什么是短连接?

短连接是当服务端与客户端连接成功后开始传输数据,数据传输完毕后则连接立即关闭,如果还想再次传输数据,则需要再创建新的连接进行数据传输。

  1)优点:在服务端不需要保存多个Socket对象,降低内存占用率。

  2)缺点:每次传输数据前都要重新创建连接,也就是每次都要进行3次握手,增加处理的时间。

 

什么是长连接?

长连接可以实现当服务端与客户端连接成功后连续地传输数据,在这个过程中,连接保持开启的状态,数据传输完毕后连接不关闭。长连接是指建立Socket连接后,无论是否使用这个连接,该连接都保持连接的状态。

(1)长连接的优缺点

  1)优点:除了第一次之外,客户端不需要每次传输数据时都先与服务端进行握手,这样就减少了握手确认的时间,直接传输数据,提高程序运行效率。

  2)缺点:在服务端保存多个Socket对象,大量占用服务器资源。

 

什么是连接?

在TCP/IP中,连接可以认为是服务端与客户端确认彼此都存在的过程。这个过程需要实现,就要创建连接,如何创建连接(环境)呢?需要服务端与客户端进行3次握手,握手成功之后,说明服务端与客户端之间能实现数据通信。如果建立连接的过程是成功的,就说明连接被成功创建。在创建好的1个连接中,使用TCP可以实现多次的数据通信。在多次数据通信的过程中,服务端与客户端要进行彼此都存在的过程验证,也就是验证连接是否正常,如果连接正常,并且多次通信,则这就是长连接。长连接就是复用当前的连接以达到数据多次通信的目的。由于复用当前的连接进行数据通信,因此不需要重复创建连接,传输效率比较高。而当实现1次数据通信之后,关闭连接,这种情况就可称为短连接。使用短连接进行数据传输时,由于每次传输数据前都要创建连接,这样会产生多个连接对象,增大占用内存的空间,在创建连接时也要进行服务端与客户端之间确认彼此存在,确认的过程比较耗时,因此运行效率较低。由于UDP是无连接协议,也就是服务端与客户端没有确认彼此都存在的握手过程,因此在UDP里面不存在长连接与短连接的概念。

 

标签:数据通信,Socket,创建,通信,TCP,传输数据,连接,服务端,客户端
来源: https://www.cnblogs.com/chaojichantui/p/16112362.html