什么叫做PASV mode(被动模式传送)?他是如何工作的?

 技术学习  没有评论 »
302004
 

FTP的连接一般是有两个连接的,一个是客户程和服务器传输命令的,另一个是数据传送的连接。FTP服务程序一般会支持两种不同的模式,一种是Port模式,一种是Passive模式(Pasv Mode),我先说说这两种不同模式连接方式的分别。
先假设客户端为C,服务端为S.
Port模式:
当客户端C向服务端S连接后,使用的是Port模式,那么客户端C会发送一条命令告诉服务端S(客户端C在本地打开了一个端口N在等着你进行数据连接),当服务端S收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成了。

Pasv模式:
当客户端C向服务端S连接后,服务端S会发信息给客户端C,这个信息是(服务端S在本地打开了一个端口M,你现在去连接我吧),当客户端C收到这个信息后,就可以向服务端S的M端口进行连接,连接成功后,数据连接也建立了。

从上面的解释中,大家可以看到两种模式主要的不同是数据连接建立的不同,对于Port模式,是客户端C在本地打开一个端口等服务端S去连接建立数据连接;而Pasv模式就是服务端S打开一个端口等待客户端C去建立一个数据连接。

我需要把传送模式设置成PASV mode吗?

如果您连接到INTERNET的方式如下图,你需要设置成为PASV mode模式传送

从上图中我们可以看出,路由上有两个ip一个是内网ip(也就是你的网关地址)另外一个是外网IP,你所有LAN中的计算机

都是共享这个218.63.1.5访问INTERNET的(中间通过了192.168.1.1这个网关),让我们来看一个连接的详细过程,以便您

更进一步了解为什么需要设置成为PASV mode 传送:

当您通过下载工具或使用浏览器下载影片的时候就开始连接FTP服务器, 当FTP服务收到你的连接请求后发送应答信息给客户并

开始等待用户的认证信息,->认证通过后开始建立数据连接 如果你不是设置成为pasv模式,那么客户段(下载工具)会在本地

计算机开一个数据端口,然后发送一条“命令”给FTP服务段,(我已打开了n端口你现在可以连接我),那么FTP服务器段就

开始连接你ip地址的N端口,(但是连接是失败的) 因为你是通过192.168.1.1 这个网关(你的路由设备)访问internet的

ftp服务段他实际上是同你的外网地址为218.63.1.5的路由设备连接,根本就连接不上你下载工具中打开的端口,例如你使用

的是 192.168.1.2 这个客户机,FTP服务段此时无法同你计算机(192.168.1.2)监听端口N连接上,所以此时你会看到服务器

反馈的错误信息,提示你192.168.1.2打开的端口无法连接之类的, 信息此时你就需要把传送模式设置成为PASV模式,

而如果你使用的是PASV模式那么当你ftp通过认证后,客户段首先向服务器发送一条PASV命令,服务段接受到命令后打开一个

端口并告诉客户段“我已打开了一个端口,你此时可以来连接了” 客户段(下载工具)接受到信息后,就去连接服务段已经打开

了的端口,从而完成数据连接,所有ftp下载的数据流都将通过这个端口传送

正则表达式

 技术学习  没有评论 »
122004
 

在我们编写WEB程序时,经常会判断一个字符串的有效性,如;一个串是否是数字、是否是有效的Email地址等等。如果不

使用正则表达式,那么判断的程序会很长,并且容易出错,如果使用正则表达式,这些判断就是一件很轻松的工作了。本文全面介绍

正则表达式的慨念、格式。并以在PHP、ASP中的应用实例增加读者的感性认识。正则表达式的应用很广,需要大家在学习和实践中不

断的总结。

  正则表达式简介

  简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。在网络编程中应用广泛,如PHP脚本语言或是
JavaScript、VBScript这样的客户端脚本语言都提供了对正则表达式的支持。由此可见,正则表达式已经超出了某种语言或某个系统的局限,成为人们广为接受的

概念和功能。

  正则表达式可以让用户通过使用一系列的特殊字符构建匹配模式,然后把匹配模式与数据文件、程序输入以及WEB页面的表单输入等目标对象进行比较,根据比较对象中是否包含匹配模式,执行相应的程序。

  举例来说,正则表达式的一个最为普遍的应用就是用于验证用户在线输入的邮件地址的格式是否正确,如果通过正则表达式验证用户邮件地址的格式正确,用户所填写的表单信息将会被正常处理;反之,如果用户输入的邮件地址与正则表达的模式不匹配,将会弹出提示信息,要求用户重新输入正确的邮件地址。由此可见正则表达式在WEB应用的逻辑判断中具有举足轻重的作用。在后面我们会举例详细介绍。

例如:/^\s*$/

位于”/”定界符之间的部分就是将要在目标对象中进行匹配的模式。用户只要把希望查找匹配对象的模式内容放入”/”定界符之间即可。
为了能够使用户更加灵活的定制模式内容,正则表达式提供了专门的”元字符”。所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。较为常用的元字符比如:
\s 任何白字符,包括空格、制表符、分页符等。等价于”[ \f\n\r\t\v]”
\S 任何非空白的字符。等价于”^\f\n\r\t\v]”

字符^
意义:表示匹配的字符必须在最前边。
例如:/^A/不匹配”an A,”中的’A’,但匹配”An A.”中最前面的’A’。

字符*
意义:匹配*前面的字符0次或n次。
例如:/bo*/匹配”A ghost booooed”中的’boooo’或”A bird warbled”中的’b’,但不匹配”Agoat grunted”中的任何字符。

字符$
意义:与^类似,匹配最末的字符。
例如:/t$/不匹配”eater”中的’t’,但匹配”eat”中的’t’

2004-05-11

 心情随笔  没有评论 »
112004
 

什么叫正则表达式?突然发现编程其实有时候也挺好玩,虽然对于我来说难了点,或者说总有那么点格格不入。离开学校了,才发现工作的情况与想象中的相差很远,虽然说只是实习,但是深刻体会到了什么叫“节奏”,什么叫“压力”,尤其在这样一个还算优秀的外企。还剩下最后一门考试,所谓“信号与系统分析”,大学里最让我头痛的课程。回过头来想象一下大学生活,学到了什么?得到了什么?感慨于中国陈旧的教育模式。曾经在宿舍里跟FOFO讨论过学习方式,我认为的从上往下的学习现在确实派上了用场,其实主要是我基础太差,不得不阿Q一下自己。电脑里放着那首《十年》,十年前,十年后……一首歌曲往往能够代表一个时代的心情,于是我永远都保留着那几首老歌,珍藏着那份回忆……今天开月会发的蛋糕挺好吃的,小一丁点居然要六元钱,不得不用“奢侈”这两个字来形容。突然感觉自己有时候有点优柔寡断了,桌上放着10几瓶不同的饮料的时候,迅速扫描一遍后,居然不知道自己该去喝哪瓶,当鸡腿跟大排只能选一样的时候,我也会犹豫半天,有点想法。。。工作的时候8个小时对着电脑,回到宿舍依然第一件事情还是打开电脑,虽然只是盯着屏幕傻傻的听着歌曲,敲着键盘,可能这就是所谓的爱好。。

2004-05-10

 心情随笔  没有评论 »
102004
 

导师不在,Partner请假,Mask System跟TDS就我一个人负责,突然感觉责任重大。屋漏偏逢连夜雨,User提出的需求只有我一人来操作了,完全陌生的Windchill平台,可怕的Oracle Database,而且是在正式区上操作,每操作一步都那么小心,幸好得到了Shally跟Shiyi以及台湾Keith的帮忙,一切进展顺利。繁忙的时候居然忘记了喝咖啡,把喝咖啡的时间节省下来做毕业设计,代码全部来自Solar,但是也很有成就感,第一次这么用心去学去写程式。从来没有想过我未来从事的工作会与我最不喜欢的编程有关,生活就是这样的飘忽不定。买了一瓶可乐,百事+烟,大学生活中最美的套餐,当百事渐渐被咖啡替代的时候,烟也少抽了很多,于是联想到了其他东西,生活中是不是很多东西都会被其他东西所替代?有点迷茫,我的未来。。。

2004-05-09

 心情随笔  1条评论 »
092004
 

平淡而无聊的一天又过去了,坐在OFFICE,面对电脑,还是那Mask;System,TDS,CTOC等等的东西,咖啡飘着缕缕香味,来公司实习后,可能受Office同事的影响,突然喜欢上了咖啡,苦苦的感觉,香香的味道。当冲咖啡也成为一种SOP在BOSS的嘴里说出来,突然领悟到了什么。记得朋友以前喜欢那首歌曲叫做《冷咖啡》,五一长假就这么结束了,打麻将输了400元,孝顺父母亲戚花了1000,旅游玩耍花了600,就这样7天时间,把一个月所得用的精光。钱,用起来真的很快。大学同宿舍的同学说过一句:“我视金钱如粪土,可是我就是喜欢粪土。”;突然有点怀念校园生活,期待回校。。。

Powered by WordPress 3.3.1 CopyRight 2004~2012, Sonic Tang

虚拟主机赞助商:海波,苏ICP备11082989号

Suffusion theme by Sayontan Sinha