浅谈Socket编程及Java实现.doc
《浅谈Socket编程及Java实现.doc》由会员分享,可在线阅读,更多相关《浅谈Socket编程及Java实现.doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java是一种可用于进行网络编程的语言,它提供了两种功能强大的网络支持机制:URL访问网络资源的类和用Socket通讯的类,来满足不同的要求。一是URL用于访问Internet网上资源的应用;另一种是针对client/server(客户端/服务器)模式的应用以及实现某些特殊的协议的应用,它的通讯过程是基于TCP/IP协议中传输层接口socket实现的。本文想简单的介绍一下Socket编程的Java实现方法。客户基于服务器之间使用的大部分通讯组件都是基于socket接口来实现的。Socket是两个程序之间进行双向数据传输的网络通讯端点,有一个地址和一个端口号来标识。每个服务程序在提供服务时都要在
2、一个端口进行,而想使用该服务的客户机也必须连接该端口。Socket因为是基于传输层,所以它是比较原始的通讯协议机制。通过Socket的数据表现形式为字节流信息,因此通讯双方要想完成某项具体的应用则必须按双方约定的方式进行数据的格式化和解释,我们可以看出使用Socket编程比较麻烦,但是它具有更强的灵活性和更广泛的使用领域。有些朋友会问,客户机/服务器工作的模式到底是什么样的呢?好,下面我想结合一张图来介绍一下它们的工作模式。那么Java应用程序是如何实现上述过程的呢?包中有两个类Socket和ServerSocket,分别用于在客户机和服务器上创建Socket通讯。让我们先来看看客户段程序编写
3、的流程:1、 首先调用Socket类的构造函数,以服务器的指定的IP地址或指定的主机名和指定的端口号为参数,创建一个Socket流,在创建Socket流的过程中包含了向服务器请求建立通讯连接的过程实现。2、 建立了客户端通讯Socket后。就可以使用Socket的方法getInputStream()和getOutputStream()来创建输入/输出流。这样,使用Socket类后,网络输入输出也转化为使用流对象的过程。3、 使用输入输出流对象的相应方法读写字节流数据,因为流连接着通讯所用的Socket,Socket又是和服务器端建立连接的一个端点,因此数据将通过连接从服务器得到或发向服务器。这
4、时我们就可以对字节流数据按客户端和服务器之间的协议进行处理,完成双方的通讯任务。4、 待通讯任务完毕后,我们用流对象的close()方法来关闭用于网络通讯的输入输出流,在用Socket对象的close()方法来关闭Socket。下面,我想通过一个简单的例子来进一步介绍一下客户端程序的编写代码一:import java.io.*;import .*;public class SocketCommunicationClientpublic static void main(String args)trySocket clientSocket =new Socket (mice,9000);/创建一
5、个流Socket并与主机mice上的端口9000相连接OutputStream output =clientSocket.getOutputStream();/向此Socket写入字节的一个输出流DataInputStream input=new DataInputStream(clientSocket.getInputStream();file:/创建新的数据输入流以便从指定的输入流中读出数据int c;String response;while ( c= System.in.read()!=-1)/从屏幕上接受输入的字符串,并且分解成一个个字符output.write(byte)c);if
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浅谈 Socket 编程 Java 实现
限制150内