---- Java 的 网 络 类 库 支 持 多 种Internet 协 议, 包 括Telnet, FTP 和HTTP(WWW), 与 此 相 对 应 的Java 网 络 类 库 的 子 类 库 为: Java.net 
Java.net.ftp 
Java.net.www.content 
Java.net.www.html 
Java.net.www.http ---- 这 些 子 类 库 各 自 容 纳 了 可 用 于 处 理Internet 协 议 的 类 和 方 法。 其 中,java.net 用 于 处 理 一 些 基 本 的 网 络 功 能, 包 括 远 程 登 录(Telnet);java.net.ftp 用 于 处 理ftp 协 议;java.net.www.content 用 于 处 理WWW 页 面 内 容;java.net.www.html 和java.net.www.http 则 分 别 提 供 了 对HTML 语 言 和HTTP 协 议 的 支 持。 二、 客 户 机/ 服 务 器 环 境 下 的Java 应 用 程 序 
---- 客 户 机/ 服 务 器 在 分 布 处 理 过 程 中, 使 用 基 于 连 接 的 网 络 通 信 模 式。 该 通 信 模 式 首 先 在 客 户 机 和 服 务 器 之 间 定 义 一 套 通 信 协 议, 并 创 建 一Socket 类, 利 用 这 个 类 建 立 一 条 可 靠 的 链 接; 然 后, 客 户 机/ 服 务 器 再 在 这 条 链 接 上 可 靠 地 传 输 数 据。 客 户 机 发 出 请 求, 服 务 器 监 听 来 自 客 户 机 的 请 求, 并 为 客 户 机 提 供 响 应 服 务。 这 就 是 典 型 的" 请?-- 应 答" 模 式。 下 面 是 客 户?/ 服 务 器 的 一 个 典 型 运 作 过 程: ---- 2 . 服 务 器 监 听 相 应 端 口 的 输 入; ---- 3* 客 户 机 发 出 一 个 请 求; ---- 5 . 服 务 器 接 收 到 此 请 求; ---- 6 . 服 务 器 处 理 这 个 请 求, 并 把 结 果 返 回 给 客 户 机; ---- 7 . 重 复 上 述 过 程, 直 至 完 成 一 次 会 话 过 程。 

解决方案 »

  1.   

    ---- 按 照 以 上 过 程, 我 们 使 用Java 语 言 编 写 一 个 分 别 针 对 服 务 器 和 客 户 机 的 应 用 程 序(Application)。 该 程 序 在 服 务 器 上 时, 程 序 负 责 监 听 客 户 机 请 求, 为 每 个 客 户 机 请 求 建 立Socket 连 接, 从 而 为 客 户 机 提 供 服 务。 本 程 序 提 供 的 服 务 为: 读 取 来 自 客 户 机 的 一 行 文 本, 反 转 该 文 本, 并 把 它 发 回 给 客 户 机。 ---- 通 过 该 程 序 实 例 我 们 看 到, 使 用Java 语 言 设 计C/S 程 序 时 需 要 注 意 以 下 几 点: ---- (1)、 服 务 器 应 使 用ServerSocket 类 来 处 理 客 户 机 的 连 接 请 求。 当 客 户 机 连 接 到 服 务 器 所 监 听 的 端 口 时,ServerSocket 将 分 配 一 新 的Socket 对 象。 这 个 新 的Socket 对 象 将 连 接 到 一 些 新 端 口, 负 责 处 理 与 之 相 对 应 客 户 机 的 通 信。 然 后, 服 务 器 继 续 监 听ServerSocket, 处 理 新 的 客 户 机 连 接。 ---- Socket 和ServerSocket 是Java 网 络 类 库 提 供 的 两 个 类。 ---- (2)、 服 务 器 使 用 了 多 线 程 机 制。Server 对 象 本 身 就 是 一 个 线 程, 它 的run() 方 法 是 一 个 无 限 循 环, 用 以 监 听 来 自 客 户 机 的 连 接。 每 当 有 一 个 新 的 客 户 机 连 接 时,ServerSocket 就 会 创 建 一 个 新 的Socket 类 实 例, 同 时 服 务 器 也 将 创 建 一 新 线 程, 即 一 个Connection 对 象, 以 处 理 基 于Socket 的 通 信。 与 客 户 机 的 所 有 通 信 均 由 这 个Connection 对 象 处 理。Connection 的 构 造 函 数 将 初 始 化 基 于Socket 对 象 的 通 信 流, 并 启 动 线 程 的 运 行。 与 客 户 机 的 通 信 以 及 服 务 的 提 供, 均 由Connection 对 象 处 理。 ---- (3)、 客 户 机 首 先 创 建 一Socket 对 象, 用 以 与 服 务 器 通 信。 之 后 需 创 建 两 个 对 象:DataInputStream 和PrintStream, 前 者 用 以 从Socket 的InputStream 输 入 流 中 读 取 数 据, 后 者 则 用 于 往Socket 的OutputStream 中 写 数 据。 最 后, 客 户 机 程 序 从 标 准 输 入( 如: 控 制 台) 中 读 取 数 据, 并 把 这 些 数 据 写 到 服 务 器, 在 从 服 务 器 读 取 应 答 消 息, 然 后 大 这 些 应 答 消 息 写 到 到 准 输 出。
      

  2.   

    如果有好的解决方案,我在几个区开了几张帖子,分数一并奉送。http://www.csdn.net/expert/TopicView.asp?id=306917参与者就有分。
      

  3.   


    书生什么时候从BCB版跑到JAVA版来了,欢迎欢迎。我正在做一个电子白板包括同步浏览的项目,有空多交流。
    原理不难,实现技术稍有点复杂而已。我也是用socket来实现的,定义一个消息格式,在客户与服务器建立稳定的连接后,客户端所做的操作都构造一个包含内容的特定格式的消息类对象,发至服务器,经过服务器转发到各个客户端,这样实现同步的操作。
      

  4.   

    谢谢回答。这是我同事的月个问题,我暂时还没有搞网页开发。
    我要实现的是一对一同步,相对来说应该简单一点吧?但是需要的是即时同步,即客户端有数据或者消息变化,服务端同时更新。如题,除了socket通讯 使用消息格式,还有其他方案么?
      

  5.   

    好象除此没别的了。我以前也考虑过,但只能发现这种方法。还有一个Observer,观察者模式,可以同步多个对象的变化,但是在网络中的多个对象是否能同步就不知道了,我没能调试出来,所以放弃了。如果有对observer精通的朋友倒是可以给点意见。
      

  6.   

    我是菜鸟,随便问几句。lluunn007(玉笛书生【再现江湖】)是不是想做一个象聊天室一样可以同步更新的东西,只是聊天室同步的是聊天记录,而你是想同步其它一些表单元素等。
      

  7.   

    JAVA好象有一个Java Message API 可用来侦听客户 ,具体用法不详。
    关注!
      

  8.   

    是不是JMS(java message server)
      

  9.   

    在网页上放Applet,通过Socket和主机通信.Applet与JavaScript通信,JavaScript控制网页.据说不同页面的Applet可以相互通信,可惜偶没试成功...
      

  10.   


    l_kaifeng(江南大哥):不同网页的applet是可以通信的,前提是从一个浏览器窗口打开的多窗口,不是你另外运行的一个浏览器。我就是用这种方法来实现同步浏览机制的。