【问题标题】:Java Sockets vs Jetty WebsocketsJava Sockets 与 Jetty Websockets
【发布时间】:2014-06-10 08:42:15
【问题描述】:

我只是想知道是否有人可以解释一下 Jetty WebSockets 和 Java Sockets 的区别\目标。

我读到的:

Jetty WebSockets:

  1. 为具有密集通信的应用程序提供快速数据交换
  2. 跨域应用
  3. 一个页面上有多个异步块的复杂应用程序
  4. 应用程序符合标准
  5. “长时间播放”应用程序

问题1: 你能解释一下第三、第四和第五个陈述吗?

Java 套接字:

  1. 非同步数据交换

问题 2: Java Sockets 提供了哪些吸引人的可能性,使其得到如此广泛的应用?

Java Sockets 和 Jetty WebSockets 的区别:

我看过this的帖子,但还是看不懂。

是的,它们确实不同。 WebSockets 通常从浏览器运行 通过类似于 HTTP 的协议连接到 Application Server 通过 TCP/IP 运行。所以它们主要用于 Web 应用程序 需要永久连接到其服务器。另一方面,平 套接字更强大和通用。它们通过 TCP/IP 运行,但它们 不限于浏览器或 HTTP 协议。他们可以用来 实现任何类型的通信。

问题 3: 你能解释一下“强大和通用”是什么意思吗?请举例?

问题 4: 如何决定使用 Java Sockets 还是 Jetty WebSockets?

【问题讨论】:

  • WebSockets 可以构建在常规套接字之上。
  • @JohmDon 为什么有人会决定使用 Java 套接字?我使用了 Jetty WebSockets,发现没有理由切换到 Java Sockets。
  • 这完全取决于你使用它们的目的。
  • @JohmDon 当然。但问题是,我无法想象 Java Sockets 会变得更好的情况。
  • 考虑直接 Java App 到 App 通信(甚至与非 Java)。套接字在那里完成工作,您可以在 TCP 或 UDP 之上运行您能想到的任何协议。

标签: java sockets websocket jetty


【解决方案1】:

一个奇怪的问题。

  1. Jetty Web 套接字实现了 Web Socket 协议。
  2. Java 套接字实现 TCP 和 UDP 协议。
  3. Web 套接字建立在 TCP 套接字之上。
  4. Web 套接字为客户端和应用服务器之间的通信提供了单一的重量级协议。
  5. TCP 套接字提供了一个轻量级协议,您可以通过它实现 Web 套接字、RMI、HTTP、FTP、SMTP、POP、LDAP、SSL、SSH、LAN、NNTP、RDP、CORBA、J2EE、Telnet 等。 .

您是在比较粉笔和奶酪,或者苹果和橙子。 Java 套接字是必不可少的组件。 Web 套接字是一种特殊用途的组件。问哪个更好,或者你是否可以扔掉其中一个是没有意义的。

【讨论】:

  • @EJB 但是所有这些协议都没有特定的套接字实现吗?我的意思是像用于 http 的 WebSockets。那是为了什么?在实际应用中,我们需要多久切换一次通信协议?
  • 还有一个问题:HTTP 协议的特殊性是什么,对于所有其他协议,我们可以使用 Java 套接字,但对于 HTTP,我们必须使用特定的实现?
  • VolodymyrBakhmatiuk 更多奇怪的问题。 1. 我不明白这道题的语法。 2.我不明白这个问题中的“generty”这个词。 3. 我不明白这个问题的相关性。 4. 我不接受这个问题的前提:Java 有 SSLSockets 例如,FTP、HTTP 的更高级别的 I/O 抽象,... (4) 似乎不是“再一个”问题,但是第一个版本稍微不那么难以理解。
猜你喜欢
  • 1970-01-01
  • 2012-06-19
  • 1970-01-01
  • 1970-01-01
  • 2013-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多