【问题标题】:TCP - Possible to send data without active listener?TCP - 可以在没有活动侦听器的情况下发送数据吗?
【发布时间】:2021-03-24 22:50:36
【问题描述】:

客户端是否可以将数据发送到 TCP 端口,然后使用侦听器进行收集,或者 TCP 在所有情况下都需要活动侦听器来发送信息吗?

这个想法是使用 TCP 作为电子邮件替代方案,即使用客户端 TCP 程序发送并使用侦听器接收。

【问题讨论】:

  • 有些东西需要在你发送到的远程套接字上监听,是的。任何类型的基于 tcp/ip 套接字的连接都是这种情况(无论它是原始套接字还是在其中使用一些更高级别的协议)。你的问题,如果我理解正确的话,似乎类似于“我可以在别人不看的时候向他们扔球,但仍然希望他们接住它吗?”。
  • 感谢您的回复。我的问题更像是“我可以把我的球扔进篮子,然后在他们需要的时候让别人捡起来”,但我想那不是 TCP
  • 在监听器出现之前发送的任何信息都会丢失。所以不,无论您发送什么,都不会神奇地为您保存某处。电子邮件服务器将数据存储在数据库中,以便您检索。
  • @Drax 继续进行类比,需要有人接住球,然后将其放入篮筐。在这种情况下,您不能自己瞄准,因为篮子上有盖子,以保证内容物的安全:-)。捕手(TCP 侦听器)和篮子(供以后检索的数据存储)是服务器端架构的两个独立部分。

标签: c# tcp network-programming


【解决方案1】:

没有。您需要有一个监听器,以便 TCP 会话可以首先发送数据。

虽然从技术上讲,可以在侦听器消失(例如崩溃)后发送数据包,但这会导致发送的数据包丢失,这并不是您真正想要的。

除非建立 TCP 连接,否则从技术上讲不可能发送数据,为此您需要客户端和侦听器。此建立功能在 TCP 协议中定义,通常称为 TCP 握手。

【讨论】:

    猜你喜欢
    • 2015-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-05
    • 1970-01-01
    相关资源
    最近更新 更多