VB,怎样在不同的窗体中使用同一个mscomm1控件??

VB,怎样在不同的窗体中使用同一个mscomm1控件??,第1张

Public Sub fasong(addr_h As Byte, addr_l As Byte, cmd As Byte) '定义共用过程

Dim fasong_data(1 To 3) As Byte

fasong_data(1) = addr_h

fasong_data(2) = addr_l

fasong_data(3) = cmd

MSComm1.Output = fasong_data ' 发送数据

End Sub

这个里面的

MSComm1.Output = fasong_data ' 发送数据

改成

Main.MSComm1.Output = fasong_data ' 发送数据

★开放防火墙BT端口一步一步学★

仅为超级菜鸟服务:

ICF是"Internet Connection Firewall"的简称,也就是因特网连接防火墙。ICF建立在你的电脑与因特网之间,它可以让你请求的数据通过、而阻碍你没有请求的数据包,是一个基于包的防火墙。在使用BT有时会因为ICF的阻拦,引起连接不到SEED或者数据包延滞降低下载速度。所以我们有必要在ICF中设置对BT使用的端口不进行阻拦。

1。在你的桌面上右键点击“网上邻居”,d出的菜单中选择“属性”。

2。d出“网络连接”窗口。在里面找到你上网用的连接,右键点击它,在d出的菜单中选择“属性”。

3。d出“本地连接属性”窗口。选择其中的“高级”选项卡。

4。看看鼠标所指的项目有没有选中(如果没有选就不用往下看了),选中了就点击窗口下方的“设置”按钮。

5。d出“高级设置”窗口。图中被选中的是一些常见的网络服务,现在我们要添加新的BT服务,点击“添加”按钮。

6。d出“服务设置”窗口。依次填写“服务描述”(随便你罗),“本机IP地址”(也可以写你的机器名),“端口号”(BT端口是6881~6890,每个BT线程占用一个端口,据说只能开9个),然后确定即可。(别忘了选中TCP协议)

7。这样“服务”栏中就增加了一个“BT1”服务,这个服务开放的是6881端口,同样你可以再新建开放6882~6890端口的服务,都搞定以后就点“确定”按钮。

8。现在我们的BT就可以在ICF中通行无阻了。

9。很多电脑中都没有开启ICF,但装有其他的专业防火墙。以最常用的天网防火墙个人版为例,同样可以设置开放BT端口,点击天网的“自定义IP规则”按钮。

10。点击“增加规则”按钮。

11。d出“IP规则修改”窗口。如图依次填写“名称”(随便写),“数据包方向”选中“接收或发送”,对方IP地址选中“任何地址”,选中TPC协议,“本地端口”填“从6881到6890”,“TCP标志位”选中“SYN”项目,最后选择当满足上面条件时“通行”,其他的填不填无所谓,然后点确定。

12。现在“自定义IP规则”栏中就增加了一个“BT”规则,打上前面的钩钩。

13。点“保存”按钮,搞定收工。呼~

使用BT过程中出现10060/10061错误后不必退出,这只是tracker服务器太忙,BT会自动重试(无论这种情况是出现在开始还是下载过程中)

另外注意错误的时间,如果距现在已经超过2分钟,恰恰说明现在是正常的。(BT不会自动清除过期的错误)

BT Experimental的Advanced介绍

BitTorrent EXPERIMENTAL是BT的一个非官方版本,主要是添加了 限制上传速度、最大上传人数及其他一些功能,在最新版的BT Experimental v3.2.1b-2中,又添加了一个新的功能 [Advanced],通过这个功能,你能够察看:和你相联接的有哪些人,你和它们之间的数据传输速度怎么样(包括上传和下载)等等。

BT Experimental的界面与BT很像,使用方法也一模一样,只是多了一些设置:

左下角的 Settings for 预设的多种上网方式,选择与你的上网方式相同的选项,BT Experimental就会自动为你设置比较理想的 最大上传速度和人数,当然你也可以自己设置,不过记住:your download rate is proportional to your upload rate(你的下载速度与你的上传速度相关)

右下角的Upload rate和Max uploads就是你的 最大上传速度和人数。

接下来,就是主要介绍的Advanced功能了。

在左下角的 Settings for 下面,有个蓝色的 Advanced 单词,点击它,就会d出Advanced窗口,如下:

解释一下每列的意义:

optimistic unchoke:意义不明

IP:对方的IP

local/remote:也不太清楚

Up:当前你为对方上传数据的速度,也就是对方在你这里下载的当前速度。

Interested:你是否有对方需要的数据," * " 表示是。

Choking:对方是否暂时被你拒绝从你这里下载数据," * " 表示是。

这个需要解释一下:在BT Experimental里,你是可以限制同时从你这里下载的人数的,比如你限制为6,但并不是说只能有6个人连到你这里,可能有几十个人连到你的电脑,这时,BT Experimental就会自动选择6个人,允许他们下载数据,其他的人就被暂时拒绝了,当过了一段时间后,BT Experimental又会自动选择另外的6个人,保证每个想从你这里下载的人都能够下载到数据。

Down:当前你从对方那里下载的速度。

Interesting:对方是否有你需要的数据," * " 表示是。

Choked:你是否暂时被对方拒绝从他那里下载数据," * " 表示是。

Snubbed:暂时意义不明。

Downloaded:你从对方那里下载的数据总量。

Completed:对方的文件数据的完整度。100%的那些人就是SeeD。大家都来拜一拜呀~~~~~

Peer Download Speed:对方下载的总速度。嗯嗯,看到那些上百KB速度的人了吧,羡慕啊~~~~~

好了,介绍完毕,这下大家都明白了吧?这个Advanced功能很不错吧,如果喜欢就去下载一个吧,和BT一样方便,但是功能更强,稳定性也很好。(广告!广告!)

下载地址

http://ei.kefro.st/projects/btclient/

BT运行原理分析及内网提速方法

由于内网用户无法提供一个对外的端口,所以无法做服务器.但用BT的时候,发现它可以让内网用户做 Send,作为程序员就忍不住下载了它的源代码分析了一把(为了看它,还专门去写了一下Python:})

比起其它的P2P软件,BT有个独特的地方,它存在一个中间的WEB服务器,就是我们在发布的时所填写的announce.该服务器提供了发布的统一管理,不像其它P2P软件那样到处去找哪些非常不稳定的个人服务器,相对起来让人安心的多.

该WEB服务器更大的作用是内网用户可以做 Send(下面会说明原理),这是其它软件无法做到的,但不好的地方是announce当机的时候就无法下载了,要知道P2P下载关键是要人气要高,announce停一下就搞到人气全没有了

.torrent 的作用

大家都知道我们要用BT下载 ,就要先下载一个.torrent文件,这个文件到底有甚么呢:

首先是 announce 纪录了发布服务器的位置,让BT知道是那个WEB服务器发布的

然后是一些文件信息,文件名,目录名,长度等等

最后是片段长度,和片段的 Sha1 校验码

(BT为了事现续传和文件校验,就把文件分成若干个片段)

大家可以用写字板打看torrent文件看看,就是知道个大概,后面的乱码是片段 Sha1 校验码

开始-续传的实现 sha校验

BT 打开一个 torrent文件后,先要你选择文件保存那里.然后判断文件不存在的话就建立新文件,存在的话就用 Sha1 校验码去校验文件---错误的就是还没下载的,这样就可以实现续传了,但128位校验,想不慢都不行

得到 peer

现在知道要下载甚么了,到那里下载呢?这就要寻找有谁提供上传了,这里BT是通过WEB服务器来实现的,首先BT会通过分析 torrent 来得到一面一串网址

http://btfans./请不要在本站做广告!:6969/announc...2&event=started

http://btfans./请不要在本站做广告!:6969/announce 是发布服务器的地址

info_hash 是torrent文件中的 info 部分的Sha校验码,WEB通过它在发布列表找到对应的纪录,

peer_id 是自身的标识,它是12个0和当前时间+全球的唯一标识码(GUID)的Sha校验的前八位,共20位

port 你提供上传的 port

IP 你的ip地址,没有的话服务器会自己找到

uploaded downloaded 你上传和下载了多少,服务器可以用它来做流量分析

left 你还要下载多少个字节

event 状态,告诉服务器你是准备开始下载,还是停止,还是下载完成了

以上这个 *** 作默认 5 分钟做一次,或由服务器设定

服务器会做甚么

服务器中有个一个 track 程序来管理这些请求

得到这一串代码后就会用 info_hash 来查找列表,找到你就可以下载,找不到就对不起啦

接着它会反连(NatCheck)你的 IP 和 Port这样就可以知道你是内网用户还是共网用户(如果你是内网用户,它是连不通的,因为它会连到你的服务器上,你的服务器当然没有这个端口啦)

然后服务器返回现在正在下载这个文件的所有公网用户的IP和port,就像是这样

d8:intervali1800e5eersld2:ip14:xxx.xxx.xx.xxx7eer id20:00180531904b7e3abdd74orti6881eeee

interval 1800 是告诉 BT 隔多少秒来查询一次这里是 30 分钟 (有点过分了)

最后如果你是公网用户它会把你提交的 IP 和 Port 放到info_hash 对应的列表中,这样其它人就可以找到你

下载

得到这些 peer IP后,BT就可以找到对应的IP下载了

Bt会到所有的peer去寻找自己要下载的东西,不是一定要到seed下载.

Bt每找到一个peer就和建立一个Socket来下载,所以下载的人越多,速度就越快.

内网用户可以做Send的原理

上面说到服务器只会返回公网的ip的,那内网用户怎么可以做Send呢,这是因为BT是一个主动连接的软件(即使你已经下载完了,也不也会主动连接他人)

下面是一个仿真流程:

1 内网用户开始做 seed,

2 服务器收到请求,由于是第一个所以也没有peer返回

3 公网用户提交请求,由于seed是内网用户所以也没有peer返回,等待下载,但服务器会把它的IP放到列表中

4 内网经过 interval 时间间隔后,再向服务器放出请求,得到上面得公网IP

5 得到公网IP后,内网马上进行连接

6 公网用户建立连接,数据开始传输 (注意现在是公网用户做服务器,内网用户做客户端,是不是有点怪)

7 其它内网用户去上面公网用户下载数据

所以,内网用户做 seed 一定要有公网用户得参与,否则其它内网用户无法下载.如果全部是内网用户,那个所有连接都不会成立,当然这是比较极端的情况.

以上可见,内网用户不能和内网用户连接,其它用户无法从服务器查到你,所以无法主动连接你,你只能每隔30分钟从服务器找到公网用户一个个进行连接.

由于中国很多用户的是内网用户(我从服务器上查回来的peer还没试过超过10个的),所以内网用户用BT的确要比公网用户要慢很多.于是有了下面的

一直是0%:

可能SEED是内网,连接不上。有时用PTC和shareaza无法下的东东,用BT就可以下。

下不了的话具体原因跟具体情况有关,如你的网络是否局域网,你是否能访问到tracker,你使用的是那种客户端,你下载的具体是哪一个BT文件,你是从头开始下还是续传,续传的话之前是否死机过等这些都有关系。

BT下载慢的一些原因:

1、不是公网用户。内网用户不能提供主动连接,所以较慢

2、各个运营商网络接口速率不高

3、下载者上传速率不高。因为BT优先处理上传较快的人

4、发布时seed的多少,还与发布者的速率相关,还有下载的人数越多相应的下载速度就越快(这就是BT的最大优点)

5、用户的防火墙阻碍作用

关于BT错误信息的一些解释

最近发现有很多人问有关BT的出错信息,下面给出完整的解释:

事实上,当你看到这些错误提示时,其实并不要紧张,这是你所要做的便是----等待.

注意:使用BT过程中出现红字错误后不必退出,BT会自动重试(无论这种情况是出现在开始还是下载过程中)另外注意错误的时间,如果距现在已经超过5分钟,恰恰说明现在是正常的。(BT不会自动清除过期的错误)

I. A piece failed hash chech, re-downloading it

这并不是什么坏消息,你不用理会它.意思是告诉你,你下载的文件有一部分是坏的,bt会自动帮你重新下载错误的部分.导致这个错误的大多数原因在于某些人错误的使用了"跳过hash检查"这个选项

II.bad data from tracker -

通常你不必理会它,通常是tracker服务器过载或者down了.也有可能是你的网掉线了(如部分长宽,访问任何网站会返回登陆界面,就是错误的data啦)

III.Problem connecting to tracker - timeout exceeded

Problem connecting to tracker - HTTP Error 503: Connect failed

Problem connecting to tracker - [Errno socket error] (10061, "Connection refused"

Problem connecting to tracker - (111, 'Connection refused')

说明在连接tracker服务器过程中出现错误,有可能trakker服务器过载或者down了,这时并不要心急,等待BT自动重试.如果很长时间都没有反映的话,你可以加上"--http_timeout 120"的参数来加大连接重试时间.具体做法另文说明.

IV.Problem connecting to tracker - HTTP Error 400: Not Authorized

说明这个tracker服务器不允许你使用这个torrent文件(国内好像比较少见),有些tracker服务器只允许在他们自己网站上发布的torrent才允许下载.解决只有换一个torrent文件了,

V.Problem connecting to tracker - HTTP Error 404: Not Found

很简单,torrent文件在tracker服务器上已经找不到了,找个新的吧.

VI.Problem connecting to tracker - HTTP Error 407: Proxy Authentication Required

假如你用的是代理下载BT,说明这个代理需要验证,需要你输入用户名和密码.

VII.Problem getting response info - [Errno 2] No such file or directory: "C:\\Documents and Sett..."

在某些情况下,IE有可能没把torrent文件存在临时文件夹内.解决方法是在torrent文件下载地址上按右键,然后另存到硬盘的某处(这可是个好习惯,以后你求种子或者reseed的时候特别有用,建议大家都这么干,利己利人),然后双击这个torrent文件开始下载.如果出现这个问题,建议清楚你的IE缓存,在文件中如果出现"["或者"]"也会出现这个问题.]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7900002.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存