【问题标题】:Java Sockets over WLAN?WLAN 上的 Java 套接字?
【发布时间】:2009-12-01 07:12:47
【问题描述】:

我有 2 台 Windows PC 通过 ad-hoc wlan 网络连接。
使用这个现有的连接,我可以通过套接字在这些电脑之间进行通信吗?
我可以在一台电脑上打开服务器套接字并将另一台电脑设为客户端并连接到另一台电脑,然后通过此连接发送和接收数据吗?
我需要一个特定的 api 还是可以只使用 java.net.Socketjava.net.ServerSocket

【问题讨论】:

    标签: java sockets wifi


    【解决方案1】:

    当然可以。 WLAN 连接上有一个 IP 网络,没有什么能阻止您建立 TCP 连接。

    就套接字而言,这与有线(以太网)连接没有什么不同,区别在于Data-Link layer

    【讨论】:

      【解决方案2】:

      当然你可以使用(服务器)套接字。套接字是 TCP 协议(​​OSI 第 4 层)的一个概念,它在 IP 协议(​​OSI 第 3 层)之上运行,IP 协议本身在 WLAN 或以太网(OSI 第 2 层)之上运行,后者运行在物理链路上(WLAN 使用无线电波,以太网使用以太网电缆)。

      OSI 层的实现是可替换的(或者更好的是:应该是可替换的)。所以无论你使用的是 WLAN、以太网还是其他东西都没有关系,只要你不低于第 3 层(这在 Java 中是不可能的)。

      查看Wikipedia article 了解更多信息

      【讨论】:

      • 感谢 EFraim 和您提供的链接,当我向上移动 OSI 层时,我看到第 7 层在应用层有 HTTP,它是一个请求/响应协议,不是吗?现在是否有某种更高级别的推送协议,或者我现在必须使用低级别的套接字。
      • Java 本身对 7 级协议的支持有限。 HTTP 只是最常见的,Java 直接支持。 Java 支持 RMI、HTTP、FTP 和 JMX(可能不完整)。有些 API 支持其他协议,例如 XMPP 或序列化框架,例如 Google 协议缓冲区。一个好的起点是 Apache MINA 或 JBoss Netty。这些是网络框架,并且有一些基于它们构建的项目(例如 Vysper 作为 XMPP 服务器)。
      猜你喜欢
      • 1970-01-01
      • 2014-05-28
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 2014-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多