这是更大的开销:每次创建一个新的套接字或维护一个套接字以进行数据传输

发布于 2021-01-29 16:42:52

这是使用套接字发送数据的最佳方法:

方法1:每次需要发送数据时创建一个新的套接字,并在传输完成后关闭它。

方法2:使用同一套接字而不是创建新套接字并即使在等待新数据时也保持连接。

关注者
0
被浏览
67
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    这取决于套接字的类型,但是在通常情况下,除非资源非常有限,否则最好保留套接字。

    • UDP是无连接的,即您创建套接字,并且在发送数据包时不会由于连接设置而造成延迟。但是仍然涉及系统调用和分配内存等,因此它很便宜但不是免费的。
    • TCP甚至需要在开始发送数据之前建立连接。完成的速度取决于等待时间,即在本地计算机上的速度快,在本地网络上的速度慢,甚至在Internet上的速度慢。另外,由于可用带宽尚不知道,因此连接开始缓慢。
    • 在TCP连接之上设置SSL / TLS会更加昂贵,因为它需要客户端和服务器之间进行更多往返。

    总结:如果您使用的是TCP,则几乎总是最好保持套接字打开,只有在缺少必要的资源时才能关闭套接字。一个不错的折衷办法是,只要您在套接字上有足够的活动,就关闭它。这是通常使用HTTP持久连接完成的方法。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看