下载此文档

1.介绍.doc


文档分类:办公文档 | 页数:约18页 举报非法文档有奖
1/18
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/18 下载此文档
文档列表 文档介绍
:
本文手把手的详解了jPortMap端口映射程序开发中的每一步,做为己运行在实际的企业项目中的应用, jPortMap程序较全面的展示了Thread、List、Vector、Socket、ServerSocket、Input/OutpuStream、File Read/Write、Properties等核心API的用法,是初学者快速进阶的一个优秀案例。
在涉及内外网数据交换的网络应用系统开发中,我们经常需要做端口映射,比如放在外部网络主机上的程序要与内部网络上的某台机器建主TCP/IP连结,如下图示:
外网机器C

内网关机器A
外网IP:

内网IP:
内网目标机器B
IP::
Port:1521
外部网络
如图示: C机器可以与A机连通,但要与B机连通,由与不在同一网络,就无能为力了;这时,就需在A机器上做交换或是转发,来接通C与B之间的TCP/IP连结,即C机先与A机器建立Socket连结,A再与B机建立连结,然后由A在中间转发C与B通信的数据;B机器上可能运行着数据库,WebService等在Tcp/IP上通信的程序,而C机器必须访问这些服务。这里A机器就充当像现实生活中介绍人的角色,负责将C、B之间的通信数据流在Socket上转发;
因此,A机需实现端口转发功能,在Liunx上,可以通过配置IPTable由OS实现,在本例中,我们将开发一个java实现的端口转发程序jPortMap,此程序将运行在A机器上,以实现转发C与B之间通信的转发。

:
从码解压后,可看到如下目录结构:
现在,,比如,.,则这样配置:
##本地IP
=
##本地端口
= 8899
##目标IP
=
##目标端口
= 80
##客户端IP过滤表,*表示许可模糊匹配
= *.*.*.*
,,在你的IE里输入:8899试试看:)
:
、、、、

类文件功能概要:
:程序启动主类,负责从配置文件读取转发的配置参数,启动转发服务器;
:其实是一个ServerSocket服务器,接受C机器进入的Socket连结请求,,由Transfer负责在本机(A上)转发B和C之间的通信。
:转发对象的数据模板类,用来将转发配置映射为java对象,以由Server,ransfer对象使用。
:按字面意思,可理解为“传送者”,如在图示中,当C要通过A连结B时,是先连结到A机上,这里在C和A间生成一个socket对象,Transfer对象则使用这个生成的socket对象和这个传输任务的Route对象执行具体的转发任务。
:jPortMap是一个服务器端程序,在运行中可能会出现错误,因此需要一个日志工具,日志工具在jPortMap中只有一个对象存在,负责记录每天程序运行的信息,如错误,警行,一般信息等。
配置文件:
cfg\:这是一个文本文件,其中存放jPortMap的配置数据,当程序启动时,主类会从中读取数据配置程序,以生成多个Route对象在内存中保持数据。
:
我们己经说明,Route类是转发对象配置数据的模板类,当jPortMap启运时,它需要知道如下配置:
有多少处转发任务(意味着要监听哪几个ServerSocket);
jPortMap程序对每个转发任务要启动的监听ServerSocket端口及所绑定的IP地址;
每个转发任务的目标IP地址和端口;
因此,jPortMap一但启动,可能会创建多个Route对象,而每个具体的Route对象则保布着一个转发任务的以上配置数据。
另外,从安全方面着想,我们的jPortMap程序还需要对请求进入的连结进行安全管理,这里我们简单的用IP过滤的方法,即jPortMap中ServerSocekt监听到的进入连结请求会认证IP地址,如发现IP地

1.介绍 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数18
  • 收藏数0 收藏
  • 顶次数0
  • 上传人weizifan339913
  • 文件大小171 KB
  • 时间2018-02-24