networking - 2个节点可以只用1个tcp连接同时交换数据吗?
问题描述
假设有 2 个节点 - A 和 B。他们每个人都维护一个状态,这是他们记忆中的一个数字。如果 A 以某种方式向 B 发送 a increment
,则 B 将返回1
。A 再次发送increment
,B 将返回2
。等等。B 也一样。A 和 B 都可以自动更新其状态。
对于发送increment
,假设 B 启动一个 TCP 服务器来接受连接,A 是与 B 建立连接的客户端。A 可以increment
通过已建立的 TCP 连接向 B 发送。
现在,问题是:B 是否也可以increment
通过同一个连接向 A 发送数据,而 A 是否可以通过该连接返回自己的状态?
而且,A 和 B 可以increment
通过同一个连接同时发送和响应吗?因此,如果 A 和 Bincrement
同时相互发送,它们可以用 回复1
。
如果 A 和 B 建立 2 个连接,则一个简单的问题 - A 作为客户端发送increment
到 B,另一个作为服务器increment
从 B 响应。由于有 2 个连接,A 和 B 可以发送“增量” ”同时。但是我想知道A和B是否可以仅通过一个TCP连接交换数据?是否有任何协议支持这一点?
解决方案
推荐阅读
- c# - 如何通过双峰创建类似特里树的数据结构
- kubernetes - 在 Airflow KubernetesPodOperator (Minikube) 和 DAG 中找不到 dag_id
- azure - Azure 逻辑应用:使用响应标头值的 Unitill 循环
- java - 第二个嵌套循环的时间复杂度只有一半
- java - 如何在抢占式优先级调度甘特图中增加目标优先级?
- node.js - 在js中的反引号内使用反引号
- php - WordPress 在重定向 url 后我需要一个 exit()
- python - 根据列的值确定一组列的顺序
- php - Laravel - 如何通过 oauth2 护照而不是 db 凭据检查来验证用户身份
- python-3.x - 如何从基础 jar 启动我的世界