【问题标题】:Knock Knock Server敲敲服务器
【发布时间】:2012-10-19 05:00:43
【问题描述】:

根据本网站,http://docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html 它是这样说的:

服务器:“敲敲!”

客户:“谁在那儿?”

服务器:“德克斯特。”

客户:“德克斯特是谁?”

服务器:“有冬青树枝的德克斯特大厅。”

客户:“呻吟。”

我认为如果服务器正在侦听它正在等待敲门的端口,那么客户端会敲门并且服务器会说谁在那里。我也检查了其他网站,并看到了相同的客户端/服务器响应。

有人能解释一下为什么不是这样吗?

【问题讨论】:

  • 客户端不应该以knock-knock开始吗?我认为协议是倒退的 ;-)
  • @Joachim 我认为这就是问题的重点。我同意这个例子似乎倒退了,所以很混乱。
  • 好吧,看来我还没有充分阅读这个问题:从 protocol 的角度来看,服务器是第一个进行通信的人是有道理的,因为这种情况经常发生(HTTP 在这里是一种例外),以便告诉客户端客户端连接到哪个服务器(软件版本,功能......)。从笑话的角度来看,客户端(即“连接”的那个)肯定是要开始敲门对话。
  • 不一定(见我的回答)——如果服务器应该是笑话的提供者...

标签: java sockets client port


【解决方案1】:

tutorial 说:

当您成功地获得客户端和服务器之间的连接后,您将在屏幕上看到以下文本:

Server: Knock! Knock!

所以实际上是客户端发起了协议(在网络方面),但服务器发起了笑话(在会话方面)。我同意这相当令人困惑。

如果您将其视为一个笑话服务器,这可能会有所帮助 - 为了得到一个笑话,您必须要一个! 如果反过来,你的服务器只会听笑话,这没什么用(除非你绝对没有朋友)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-03
    • 2012-10-05
    • 2014-06-27
    • 2018-04-06
    • 2015-08-17
    • 2013-12-22
    相关资源
    最近更新 更多