新闻中心

EEPW首页>手机与无线通信>设计应用> 一种基于Java的网络通信程序

一种基于Java的网络通信程序

作者: 时间:2009-07-07 来源:网络 收藏

上述中,使用了多线程机制。Server和service对象本身都是一个线程。Server对象首先创建一个ServerSocket对象,并启动线程的运行。它的run()方法用于监听来自客户机的连接。每当有一个新的客户机连接时,ServerSocket就会创建一个新的Socket类实例,并创建一个service对象,同时启动这个对象的线程。每个service对象用于完成与客户机通信、提供服务的任务。这样服务器可以同时与多个客户机连接,同时为多个客户机提供服务。当从标准输入中接收到quit字符串时,服务器退出运行。

本文引用地址://m.amcfsurvey.com/article/158012.htm

3 客户端设计
当客户需要与服务器程序通信时,需在客户机创建一个Socket对象。Socket类有构造函数Socket(InetAddress addr,int port)和Socket(String host,intport),两个构造函数都创建了一个Socket的连接服务器端流套接字的流套接字。对于第一个InetAd-dress子类对象通过addr参数获得服务器主机的IP地址,对于第二个函数host参数包被分配到InetAddress对象中,如果没有IP地址与host参数相一致,那么将抛出UnknownHostException异常对象。两个函数都通过参数port获得服务器的端口号。假设已经建立连接了,网络API将在客户端Socket的流套接字中捆绑客户程序的IP地址和任意一个端口号,否则两个函数都会抛出一个IOException对象。
如果创建了一个Socket对象,那么它可通过get-InputStream()方法从服务程序获得输入流读传送来的信息,也可通过调用getOutputStream()方法获得输出流来发送消息。在读写活动完成之后,客户程序调用close()方法关闭流和流套接字。
在下面客户机端的通信程序中,首先创建一个Socket对象,用于与服务器通信,它从标准输入中读取数据,把这些数据传给服务器,再从服务器读取应答信息,然后把这些应答信息写到标准输出。当读取了5行的数据后,客户机程序将退出运行。



4 结 语
采用语言编写程序非常简捷,缘于Java语言本身就是一门面向对象的网络编程语言,提供了多个可用于访问标准Internet协议的类库,从而支持多种Internet协议,包括:FTP,HTTP,NNTP和WWW等,极大地简化了网络程序设计。事实上,用Java语言还可以方便地编写出功能完善的其他应用程序。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭