知识大全 使用 Java 编写 B/S 网络通信程序

Posted 通信

篇首语:学乃身之宝,儒为席上珍。君看为宰相,必用读书人。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用 Java 编写 B/S 网络通信程序相关的知识,希望对你有一定的参考价值。

使用 Java 编写 B/S 网络通信程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

    网络上的系统结构多为客户/服务器模式 服务器端负责数据和图像等的存储 维护 管理以及传递 客户端则负责人机界面的操作 送出需求及显示收回的数据     下面介绍一下如何使用JAVA来进行网络编程      ) 由于客户端通过IE同服务器建立联系 所以客户端使用Applet 服务器端使用Application      ) 服务器应设置成多线程 应答多个客户的请求      ) 两端通信使用SOCKET机制     Java中输入/输出流概念     过滤流DataInputStream 和DataOutputStream 除了分别作为FilterInputStream 和FilterOutputStream的子类外 还分别实现了接口DataInput 和DataOutput 接口DataInput 中定义的方法主要包括从流中读取基本类型的数据 读取一行数据 或者读取指定长度的字节数 如readBoolean() readInt() readLine() readFully()等 接口DataOutput中定义的方法主要是向流中写入基本类型的数据或者写入一定长度的字节数组 如writeChar() writeDouble() DataInputStream可以从所连接的输入流中读取与机器无关的基本类型数据 用以实现一种独立于具体平台的输入方式 DataInputStream 可以向所连接的输出流写入基本类型的数据      Socket 机制   >  Socket是面向客户/服务器模型设计的 网络上的两个程序通过一个双向的通讯连接实现数据的交换 这个双向链路的一端称为一个Socket Socket通常用来实现客户方和服务方的连接 客户程序可以向Socket写请求 服务器将处理此请求 然后通过Socket将结果返回给用户     Socket通信机制提供了两种通讯方式 有联接和无联接方式 分别面向不同的应用需求 使用有联接方式时 通信链路提供了可靠的 全双工的字节流服务 在该方式下 通信双方必须创建一个联接过程并建立一条通讯链路 以后的网络通信操作完全在这一对进程之间进行 通信完毕关闭此联接过程 使用无联接方式时其系统开销比无联接方式小 但通信链路提供了不可靠的数据报服务 不能保证信源所传输的数据一定能够到达信宿 在该方式下 通信双方不必创建一个联接过程和建立一条通讯链路 网络通信操作在不同的主机和进程之间转发进行      Java语言简介  Java语言的优点主要表现在 简单 面向对象 多线程 分布性 体系结构中立 安全性等方面     ( ) 简单性    Java与C++语言非常相近 但Java比C++简单 它抛弃了C++中的一些不是绝对必要的功能 如头文件 预处理文件 指针 结构 运算符重载 多重继承以及自动强迫同型 Java实现了自动的垃圾收集 简化了内存管理的工作 这使程序设计更加简便 同时减少了出错的可能     ( ) 面向对象    Java提供了简单的类机制和动态的构架模型 对象中封装了它的状态变量和方法 很好地实现了模块化和信息隐藏 而类则提供了一类对象的原型 通过继承和重载机制 子类可以使用或重新定义父类或超类所提供的方法 从而既实现了代码的复用 又提供了一种动态的解决方案     Java是一种完全面向对象的程序设计语言 它除了数组 布尔和字符三个基本数据类型外的其它类都是对象 它不再支持全局变量 在Java中 如果不创建新类就无法创建程序 Java程序在运行时必须先创建一个类的实例 然后才能提交运行     Java同样支持继承特性 Java的类可以从其它类中继承行为 但Java只支持类的单重继承 即每个类只能从一个类中继承     Java支持界面 界面允许程序员定义方法但又不立即实现 一个类可以实现多个界面 利用界面可以得到多重继承的许多优点而又没有多重继承的问题     ( ) 多线程    多线程使应用程序可以同时进行不同的操作 处理不同的事件 在多线程机制中 不同的线程处理不同的任务 他们之间互不干涉 不会由于一处等待影响其他部分 这样容易实现网络上的实时交互操作     Java程序可以有多个执行线程 如可以让一个线程进行复杂的计算 而让另一个线程与用户进行交互 这样用户可以在不中断计算线程的前提下与系统进行交互 多线程保证了较高的执行效率     ( ) 分布性    Java是面向网络的语言 通过它提供的类库可以处理TCP/IP协议 用户可以通过URL地址在网络上很方便的访问其他对象     ( ) 体系结构中立    Java是一种网络语言 为使Java程序能在网络的任何地方运行 Java解释器生成与体系结构无关的字节码结构的文件格式 Java为了做到结构中立 除生成机器无关的字节码外 还制定了完全统一的语言文本 如Java的基本数据类型不会随目标机的变化而变化 一个整型总是 位 一个长整型总是 位     为了使Java的应用程序能不依赖于具体的系统 Java语言环境还提供了用于访问底层操作系统功能的类组成的包 当程序使用这些包时 可以确保它能运行在各种支持Java的平台上     java lang: 一般的语言包 其中包括用于字符串处理 多线程 异常处理和数字函数等的类 该包是实现Java程序运行平台的基本包    java util: 实用工具包 其中包括哈希表 堆栈 时间和日期等    java io: 基于流模型的输入/输出包 该包用统一的流模型实现了各种格式的输入/输出 包括文件系统 网络和设备的输入/输出等    : 网络包 该包支持TCP/IP协议 其中提供了socket URL和WWW的编程接口    java awt: 抽象窗口工具集 其中实现了可以跨平台的图形用户界面组件 包括窗口 菜单 滚动条和对话框等    java applet: 支持applet程序设计的基本包    ( ) 安全性    用于网络 分布环境下的Java必须要防止病毒的入侵 Java不支持指针 一切对内存的访问都必须通过对象的实例变量来实现 这样就防止了程序员使用欺骗手段访问对象的私有成员 同时也避免了指针操作中容易产生的错误      JAVA工具  ( ) JDK     ) Java编译器    Java编译器将Java源代码文件编译成可执行的Java字节码 Java源代码文件的扩展名为 java Java编译器把这种扩展名的文件编译成扩展名为 class的文件 源文件中的每个类在编译后都将产生一个class文件 这意味一个Java源代码文件可能编译生成多个class文件      ) Java解释器    Java解释器对编译生成的字节码格式的可执行程序的运行提供支持 它是运行非图形Java程序的命令行工具      ) Appletviewer    它是Java Applet的简单测试工具 可使用它来测试Java Applet程序 而不需要WWW浏览器的支持     ( ) Visual J++    Visual J++ 集成了可视化界面设计 交互式调试 代码编辑 联机帮助信息和介绍如何快速掌握该开发环境的实用向导等多项功能 同时具有能充分利用Active X和新技术的优势 利用Visual J++可创建交互性很强的Internet应用程序 是难得的Java 开发系统   客户机/服务器通信的实现     ( ) Application 同 Applet 的通信    两端通过Socket机制进行连接      ) 客户端的编程流程:    i 打开Socket 新建一个套接字     ii 为套接字建立一个输入和输出流     iii 根据服务器协议从套接字读入或向套接字写入     iiii 清除套接字和输入/输出流      )服务器端的编程流程:    打开Server Socket 创建一个服务器型套接字和一个普通套接字 服务器型套接字在指定端口为客户端请求的Socket 服务     i 使用ServerSocket类的accept()方法使服务器型套接字处于监听状态并把监听结果返回给普通套接字     ii 为该普通套接字创建输入和输出流     iii 从输入和输出流中读入或写入字节流 进行相应的处理 并将结果返回给客户端     iiii 在客户端和服务器工作结束后关闭所有的对象 如服务器型的套接字 普通套接字 输入和输出流     正是由于Java系统具有基于Socket的灵活通信机制 因而其应用程序能自由地打开和访问网络上的对象 就象在本地文件系统中一样     ( ) Applet之间的通信     Applet之间的通信使用Applet Context类的getApplet()方法         只要在程序中加入  Applet oneapplet=getAppletContext() getApplet( first );便可使用name为first的Applet中的方法了   在该课题中大量使用了该种通信方法 因为专门同服务器端通信的 Applet中包含接收信息方法和发送信息方法 所有客户端的Applet都要使用负责通信的Applet中的方法 所以客户端的Applet同负责通信的Applet必须进行通信      程序  //服务器端程序S java 负责与客户端通信  import java io *;  import *;  import java lang *;  import T ;    class ThreadEchoHandler extends Thread //创建线程    T theT =new T ();    Socket ining;  int counter;    ThreadEchoHandler(Socket i int c)    ining=i;  counter=c;      public void run()    try    DataInputStream in=new DataInputStream(ining getInputStream cha138/Article/program/Java/hx/201311/26680

相关参考

知识大全 用Java编写简单的UDP网络通信程序

用Java编写简单的UDP网络通信程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java中

知识大全 网络数据流的java处理

  郭洪锋()该文章对编写客户服务器应用的java程序员有所帮助可以解决程序在对方出现故障的时候继续稳定运行  前言java程序要处理很多的网络数据网络数据发送和接收以及数据流的处理是java程序要特

知识大全 Java进阶:Java编写通过代理访问的应用程序

Java进阶:Java编写通过代理访问的应用程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 用Java 编写手机应用程序

时尚:用Java编写手机应用程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  不知从什么时候开

知识大全 跨平台编写Java程序注意事项

Java进阶:跨平台编写Java程序注意事项  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  使用

知识大全 使用UML编写Java应用程序 (2)实现

使用UML编写Java应用程序(2)实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  程序设计

知识大全 Java中利用JMF编写摄像头拍照程序

Java中利用JMF编写摄像头拍照程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我把程序分

知识大全 利用Delphi编写Socket通信程序

利用Delphi编写Socket通信程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!笔者在工作中

知识大全 编写多线程Java应用程序常见问题

编写多线程Java应用程序常见问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!几乎所有使用AWT

知识大全 如何用 java 编写一个扫描仪程序

  javaainmaybeapowerfulsolutionyoucangotognomesktodownloadthenewestpackage   JavaTwainversionisapart