基于Socket的网络数据多机协作采集研究指导老师谭敏生.ppt

基于Socket的网络数据多机协作采集研究指导老师谭敏生.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Socket的网络数据多机协作采集研究指导老师谭敏生

基于Socket的网络数据多机协作采集研究 指导老师:谭敏生 答辩人:吴海彬 (20034440330) 目 录 一、研究背景 随着Internet的普及,全球性信息化浪潮在给我们带来便利的同时,网络信息安全问题也日益彰显。因此,一些企业、机关、科研机构为了防止数据的泄密,常常需要利用网络数据包的截获与还原技术来监视从本单位传出的数据。 然而,在一个大型局域网中,对大量的网络数据进行采集和监控可能需要通过多机协作技术来实现。本文首先对TCP/IP协议进行了阐述,并分析了多机协作和数据包采集技术,然后以Java为工具,实现了基于Socket的网络数据多机协作采集的有关技术和核心算法。 二、Java简介 InetAddress类 InetAddress类主要用来区分计算机网络中的不同节点,即不同的计算机并对其寻址。每个InetAddress对象中包含了IP地址、主机名等信息。 Socket与ServerSocket类 在上图中,提到了Socket类和ServerSocket类,它们是用Java实现流式Socket通信的主要工具。创建一个ServerSocket对象就创建了一个监听服务,创建一个Socket对象就建立了一个Client与Server间的连接。 1、 ServerSocket类 下面的语句将创建一个ServerSocket类,同时在运行该语句的计算机的指定端口处建立一个监听服务: ServerSocket MyListener = new ServerSocket(8000); 这里指定提供监听服务的端口号是8000。一台计算机可以同时提供多个服务,这些不同的服务之间通过端口号来区别,不同端口号可以提供不同的服务,Client连接到哪个端口,就可以接受那个端口提供的服务。 为了随时监听可能的Client请求,还应该执行如下语句: Socket LinkSocket = new MyListener .accept( ); 这个语句调用了ServerSocket对象的accept( )方法,这个方法的执行将使Server端的程序处于等待状态,程序将一直阻塞直到捕捉到一个来自Client端的请求,并返回一个用于与该Client通信的Socket对象。此后Server程序只要向这个Socket对象读写数据,就可以实现向远端Client读写数据。 需要结束监听时,只需要用如下语句关闭ServerSocket对象: MyListener .close( ); 2、 Socket类 当Client程序需要从Server端获得信息及其他服务时,应该创建一个Socket对象: Socket MySocket = new Socket(“ServerName”,8000); Socket类的构造函数有两个参数,第一个参数是欲连接到的Server计算机的主机地址,第二个参数是该Server机上提供服务的端口号。 Socket对象建立成功之后,就可以在Client和Server之间建立一个连接,并通过这个连接在两个端点之间传递数据。 OutputStream SocketOs = MySocket .getOutputStream( ); InputStream SocketIs = MySocket .getInputStream( ); SocketOs .write(SocketIs .read( ) ); 这里首先利用Socket类的两个方法getOutputStream( )和getInputStream( )分别获得向Socket读写数据的输入/输出流,最后一个语句将从Server端读取的数据重新返回到Server端。当Server端和Client端的通信结束时,可以调用Socket类的close( )方法来关闭Socket,拆除连接。 (2) 实现Runnable接口 在这个途径中,已经有了一个父类的用户类可以同过实现Runnable接口的方法来定义用户线程的操作。我们知道R

文档评论(0)

woai118doc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档