这是更大的开销:每次创建一个新的套接字或维护一个套接字以进行数据传输
这是使用套接字发送数据的最佳方法:
方法1:每次需要发送数据时创建一个新的套接字,并在传输完成后关闭它。
方法2:使用同一套接字而不是创建新套接字并即使在等待新数据时也保持连接。
-
这取决于套接字的类型,但是在通常情况下,除非资源非常有限,否则最好保留套接字。
- UDP是无连接的,即您创建套接字,并且在发送数据包时不会由于连接设置而造成延迟。但是仍然涉及系统调用和分配内存等,因此它很便宜但不是免费的。
- TCP甚至需要在开始发送数据之前建立连接。完成的速度取决于等待时间,即在本地计算机上的速度快,在本地网络上的速度慢,甚至在Internet上的速度慢。另外,由于可用带宽尚不知道,因此连接开始缓慢。
- 在TCP连接之上设置SSL / TLS会更加昂贵,因为它需要客户端和服务器之间进行更多往返。
总结:如果您使用的是TCP,则几乎总是最好保持套接字打开,只有在缺少必要的资源时才能关闭套接字。一个不错的折衷办法是,只要您在套接字上有足够的活动,就关闭它。这是通常使用HTTP持久连接完成的方法。
-
可得出一个网络套接字的组合是( )
2020-12-25 关注 0 浏览66 1答案
-
可得出一个网络套接字的组合是()
2020-12-25 关注 0 浏览43 1答案
-
可得出一个网络套接字的组合是( )
2020-12-30 关注 0 浏览46 1答案
-
可得出一个网络套接字的组合是()
2020-12-30 关注 0 浏览59 1答案
-
创建一个套接字服务器,它允许通过线程和Java进行多个连接
2021-01-31 关注 0 浏览71 1答案
-
Socket,即套接字,是一个对 TCP / IP协议进行封装 的编程调用...
2022-03-03 关注 0 浏览33 1答案
-
当使用TCP进行数据传输时,如果接收方通知了一个800直接的窗口值,那么发送方可以发送
2022-05-11 关注 0 浏览13 1答案
-
如何将一些数据传输到另一个 Fragment?
2022-07-28 关注 0 浏览14 1答案
-
从另一个线程关闭套接字时,阻塞recv不会退出吗?
2021-02-01 关注 0 浏览97 1答案
-
在Linux中使用原始套接字进行数据包嗅探
2021-02-01 关注 0 浏览93 1答案