sockets - 全双工套接字与使用两个套接字,一个用于读取,另一个用于写入

标签 sockets networking duplex

我想知道,

第一个问题,每个对等点使用一个套接字(全双工)与两个套接字(单工)的优缺点是什么:一个用于读取,另一个用于写入?特别是在性能和​​资源利用率方面。

第二个问题以防万一,如果我选择在每个对等点上使用超过 1 个套接字,那么我所做的所有读写操作都是如此。那么它会帮助我扩展处理未处理的消息吗?

第三个问题:什么可以帮助我确定每个对等点的套接字数量?网络带宽?消息传入和传出的数量?

所有问题都是不同的,没有任何相互关系。

最佳答案

What are the pros and cons of using one socket (full duplex) vs. two socket one for read and other write? Specially in terms of performance and resource utilization.

Pro one socket:资源利用率。反一 socket :无。性能:相同,只是如果您只使用一个套接字,则可以节省连接和关闭握手的时间。

In case, I choose to take two socket approach, then will not be useful to use both of them full duplex, that way it helps me scale out in terms of data flowing in and out?

现在您正在比较苹果和橙子。您无法将一个全双工套接字与两个全双工套接字进行比较。我不知道为什么您认为您可能需要两个入站流和两个出站流,但您不需要。除了 FTP 之外,我能想到的所有协议(protocol)都只使用一个。

what impact does network bandwidth has on it?

无。

or it has on network utilization?

无,除了连接和关闭握手之外。但它浪费了两端的资源。

关于sockets - 全双工套接字与使用两个套接字,一个用于读取,另一个用于写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25657715/

相关文章:

objective-c - 数据序列化

java - 用java流式传输音乐

c# - WCF - 回调接口(interface)可以指定为通用接口(interface)吗?

java.net.SocketException : Connection Reset. 如何停止这个?

组合套接字发送的十六进制值

c# - SSL通信的双向认证

c# - WCF 双工契约(Contract)

Python WebSocket 解码消息

linux - 如何绑定(bind)到只有一个网络接口(interface)(Linux)的所有地址?

c# - 集群环境中的 WCF 双工通信