首页 /编程语言和算法/VB6/ASP
 VB6 Winsoc控件是单线程还是多线程
2024年2月6日 16:18

新建From1(窗体),新建Text1(TextBox),新建Command1(按钮CommandButton),Winsock1(按钮Winsock控件),代码:

具体代码只能由VIP查看,请升级

通过windows的命令行代码:

nslookup manongku.com 127.0.0.1

命令行运行结果:

DNS request timed out.
    timeout was 2 seconds.
服务器:  UnKnown
Address:  127.0.0.1

DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
*** 请求 UnKnown 超时

在VB的Text1中,运行结果:

[1] 1_500500
[2] 2_500500
[3] 3_500500
[4] 4_500500
[5] 5_500500

结论:

具体代码只能由VIP查看,请升级

现在说下nslookup干了什么事?通过对服务器IP的抓包,看到nslookup有5次dns请求,分别是:

PTR
A
AAAA
A
AAAA

所以刚好对应上面UnKnown和4次timed out。如果我们通过测试baidu.com:

nslookup baidu.com 8.8.8.8

运行结果:

PTR
A
AAAA

毕竟google的dns直接能给出A记录就不用重复了。

我们用dig测试,抓包发现是访问3次A记录,这和Text1收到的3次记录一样,没遗漏。dig测试baidu.com只出现一次A记录。

在高强度测试中,比如1秒100个访问,还是看到[]中的数字和_前面的数字都是一样的,有DoEvents也不影响,证明没有数据插队进来。winsock控件外部是不会遗漏请求的,会挨个发到VB的Winsock控件中。

 
全部回复(0)
首页 | 电脑版 |