如何使用JAVA编写网络通信程序

如何使用JAVA编写网络通信程序,第1张

使用JAVA来进行网络编程

1)

由于客户端通过IE同服务器建立联系,所以客户端使用Applet,服务器端使用Application;

2)

服务器应设置成多线程,应答多个客户的请求;

3)

两端通信使用SOCKET机制。

2.2客户机/服务器通信的动机

客户机-服务器范例的基本动机来自聚集问题。

为了理解这一问题,设想一个人试图在分离的机器上启动两个程序并让它们进行通

信,还要记住,计算机的运行要比人的速度快许多数量级。在某人启动第一个程序后,

该程序开始执行并向其对等程序发送消息,在几个微妙内,它便发现对等程序还不存在,

于是就发出一条错误消息,然后退出。在这时,某个人启动了第二个程序,不幸的是,当第二个程序开始执行时,它发现对等程序已经终止执行了,即便是两个程序连续重新试着通信,

但由于它们每个程序执行的速度那么快。因而它们

在同一瞬间向对方发送消息的概率是很低的。

客户机-服务器模型是这样解决这种聚集问题的。它要求在任何一对进行通信的应用进程中,有一方必须在启动执行后(无限期地)等待对方的联系,这种解决方案是重要的,因为TCP/IP自己对入呼叫通信是不会响应的。

由于TCP/IP并不是提供在一个报文到达后自动创建运行程序的任何机制,因此一个程序必须在任一请求到来前就在那里等待以接受通信。

因此,为确保计算机已准备好了进行通信,多数系统管理员都安排通信程序在 *** 作系统引导时就自动启动。每个程序都一直运行下去,以便等待下一个服务请求的到来(此服务是该程序提供的)

望采纳!!!

摘 要 Java语言是Internet上最热门的编程语言 本文针对Java的网络功能 对Java从网络上获取图象 声音 HTML文档及文本文件等编程方法作了初步的介绍 同时介绍了动态获取网络上资源的方法作了介绍 文中提供了大量简明易懂的实例 关键词 Java Internet 网络Java语言是Internet上新兴的编程语言 对Java的特性以及基本的编程方法已有很多文章作过介绍 但是 广大Java爱好者更希望了解Java更深一步的编程方法 本文就Java的网络功能及其编程方法作一初步的介绍 为了方便初次接触Java的读者 本文先就Java编程的一些常识作简单介绍 一 Java编程简介 编程环境 对于大部分读者 以下的配置是较为经济的一种选择 *** 作系统 Win 编译软件 JDK 浏览软件 Netscape 以上( 位) 编程方法 先用文本编辑器如Edit NotePad等输入Java程序 以 java为文件名后缀存盘 再执行命令行 Javac 文件名 来编译Java程序 编译后生成后缀为 class的字节码文件 最后 如果是Java Applitcation 则执行命令行 Java 字节码文件名 来运行Java程序 如果是Java Applet 则用文本编辑器输入调用该Java Applet的HTML 文档 以 为文件名后缀存盘 再执行命令行 appletviewer HTML文件名 来运行Java Applet 或用Netscape打开该HTML文档 关于本文中程序的说明为了使程序能够最简洁地体现其所代表的编程方法 本文中的程序一般采用最简单的形式 省略了线程等内容 因此 本文的程序不是 好 的程序 但最容易为初学者理解 本文的所有程序经编译后 生成的字节码文件及对应的HTML文档已上载到~xyx/test/jvnet 均可正确运行 连入Internet的读者可用浏览器打开该地址 查看运行效果 连入Internet的读者也可以在本地硬盘输入并编译本文的程序 用Netscape的File/Open File菜单打开HTML文档 体会编程方法并查看运行效果 如果读者想将Java Applet 放到自己的主机上或其他ftp服务器上 在Netscape中用协议或ftp协议调用 出于安全性限制 应作如下修改 如果读者在某个WWW主机上有帐号 可以做个人Homepage(一般在用户根目录创建WWW或public_目录即可 Homepage的地址为 //HostName/~个人帐号) 可将本文程序中对应的~xyx/部分修改为读者自己的Web结点地址 然后将编译后生成的字节码文件及对应的HTML文档上载到自己的结点上 如果读者的计算机连入了Internet 也可以找一个可以上载的ftp结点 如 ftp:///ining 将本文程序中对应的~xyx/部分修改为ftp结点的地址 将编译后生成的字节码文件及对应的HTML文档上载到该结点上 以查看运行效果 如果读者的计算机没有联网 也可以在单机上运行Web 服务软件如Webstar for Win 将本文程序中对应的/~xyx/部分修改为//本地IP地址 的形式 来模拟网络编程 二 Java网络功能及获取网络上资源的一般步骤Java程序可以获取网络上结点的图象 声音 HTML文档及文本等资源 并可以对获得的资源进行处理 例如Java程序可以每隔一定时间读取某结点提供的最新数据 并以图表的形式显示出来 在编程处理上 一般先生成一个URL类型的对象 然后用 Java中相应的方法(method)获取该对象所代表的资源 下面分别介绍Java网络功能的几个例子 并由此介绍几种不同的编程方法 三 从网络上获取图象Java Applet可以直接从网络上结点获取图象并显示出来 为了了解其编程方法和从本地显示图象的编程有何不同 我们先不考虑网络功能 来看一个简单的图象显示的例子 ●程序 import java applet *import java awt *public class imag extends Applet{Image imagepublic void init() {image=getImage(getDocumentBase() test gif )}public void paint(Graphics g) {g drawImage(image this)}}这是一个最简单的获取并显示图象的例子 在该例中 先用getImage(getDocumentBase() 图象文件名)从HTML文档所在位置调用图象test gif 并由此生成一个Image类型的对象image 然后用drawImage(image this)在屏幕上将图象显示出来 如果想从网络上其他结点获取图象 关键是创建对应于网络上其他结点的Image类型的对象 一旦获得Image类型的对象获得了 便可以对其进行任何可能的图象 *** 作 Java提供了如下方法可以创建对应于其他结点的图象 getImage(new URL(字符串))其使用格式可有两种 String url = 结点URL Image imagetry {image = getImage(new URL(url))}catch(Exception e){System out println( Can t open the URL )}或URL imgur=nullImage imagetry {imgur=new URL( 结点URL )}catch (MalformedURLException e) {System out println( Can t open the URL )}image=getImage(imgur)前一种格式用 new URL(url) 生成 URL 对象 并直接作为getImage的参数 后一种格式先用 new URL(url) 生成一个 URL对象 再传给getImage 两种格式本质上是一样的 两种格式中 生成URL对象的部分都包含在try{获取URL对象}catch (MalformedURLException e) {出错提示}中 例如要调用~xyx/img/shnet jpg结点的图象 第一种格式完整的程序如下 ●程序 import java applet *import *import java awt *public class imag extends Applet{Image imagepublic void init() {String url = ~xyx/img/shnet jpg try {image = getImage(new URL(url))} catch(Exception e){}}public void paint(Graphics g) {g drawImage(image this)}}第二种格式完整的程序如下 ●程序 import java applet *import *import java awt *public class imag extends Applet{Image imageURL imgur=nullpublic void init() {try {imgur=new URL( ~xyx/img/shnet jpg )}catch (MalformedURLException e) {System out println( Can t open the URL )}image=getImage(imgur)}public void paint(Graphics g) {g drawImage(image this)}}将上述两个程序分别以imag java和imag java 存盘 执行javac imag java和javac imag java 将得到编译后生成的imagclass和imag class 最后创建调用这两个Java Applet的HTML文档 如imag class对应的HTML文档可如下 <><head ><title >Example </title ></head ><center ><applet code=imag.class width=550 height=250 ></applet ></ >将该HTML文档存入l文件 用Netscape打开 如果你的计算机连入了Internet 便可以看到Java Applet 所显示的从网络上获得的图象了 (对于本文中其他不同的Java Applet 对应的HTML文档只要修改其中相应的 code=imag class 即可 )四 从网络上获取声音Java从网络上获取声音文件并播放声音的编程方法有两类 一是利用Java提供的play(URL)及play(URL String) 直接播放网络上的声音文件 另一类是通过getAudioClip(URL)或getAudioClip(URL String)先从网络上获取声音文件 并生成AudioClip 类型的对象 然后对该对象进行 *** 作 前者的使用格式是 String Audur = 结点URL try {play(new URL(Audur))} catch(Exception e){}或String Audur = 结点URL try {play(new URL(Audur) 声音文件名)} catch(Exception e){}后者使用的格式是 String Audur = 结点URL AudioClip loopCliptry {loopClip = getAudioClip(new URL(Audur))}catch(Exception e){System out println( Can t open the URL )}或String Audur = 结点URL AudioClip loopCl lishixinzhi/Article/program/Java/hx/201311/26995


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8081845.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存