10个一模一样的服务端放在10台机器上,先随即连接一个,如果连接不到服务端则依次连接每一台服务器,如果都连接不上客户端退出
假定10台机器IP分别为192.168.0.1 192.168.0.3 192.168.0.5 192.168.0.7 192.168.0.9
192.168.0.2 192.168.0.4 192.168.0.6 192.168.0.8 192.168.0.10
我用10个winsock做处理,不知道效率怎样,请问各位大大有没有效率比较好的处理方法啊
能不能用数组啊,小弟不才,求各位大大帮忙
假定10台机器IP分别为192.168.0.1 192.168.0.3 192.168.0.5 192.168.0.7 192.168.0.9
192.168.0.2 192.168.0.4 192.168.0.6 192.168.0.8 192.168.0.10
我用10个winsock做处理,不知道效率怎样,请问各位大大有没有效率比较好的处理方法啊
能不能用数组啊,小弟不才,求各位大大帮忙
解决方案 »
- VBA excel中下拉选取不同的列表值之后,excel表格内容相对应的同时刷新。有没有这样的功能呢?求救!!
- 请问vb文本框怎么链接到指定网址
- 求助:如何实现导入的图片调整到和picturebox相同的大小
- mshflexgrid显示问题
- SQL存储过程的问题?????急呀!!!!!!(!)
- [求助]VB编聊天程序的问题![附源码]
- 请问高手们:远程数据库连接,到底是ADODC控件好,还是ADODB使用代码编程好?
- 在线等待,急!监视的变量如何用16进值表示?(在监视窗口里用16进值显示)
- 如何用VB做打印程序,什么控件好呢,当数据库字段太多时,如何控制在页面的显示,谢谢!
- 搞不懂这个VB里的X,Y坐标
- 问题3 如何判断程序!源码在此帮忙判断!
- 请教一个简单的会议系统的开发
dim i as integer
Dim after As Doublefor i=1 to 10
Shell("ping 192.168.0."+Cstr(i)+" -n 1 | find /c "+chr(34)+"timed out"+chr(34)+" >."+Cstr(i)+"txt")
next
after = Now + 3# / 24# / 3600#
Do
DoEvents
If Now > after Then Exit Do
Loop
'将1.txt,2.txt,...,10.txt文件中的第一个字符读出来判断是'1'表示不通,是'0'表示能通
'随机挑一个是0的(或者优先用上次连接成功的)用WinSock连接
Shell("ping 192.168.0."+Cstr(i)+ " -n 1 | find /c "+chr(34)+"timed out"+chr(34)+ " >"+Cstr(i)+ ".txt")
应该是
Shell("ping 192.168.0."+Cstr(i)+ " -n 1 | find /c "+chr(34)+"timed out"+chr(34)+ " >"+Cstr(i)+ ".txt")
我觉得楼主这样做一定好处
在请求连接的时候10个winsock同时请求连接
如果任何一个连接成功则其他的九个关闭
这种方法我觉得是上面所有方法中最快连接上的方法。
但是存在一个问题 就是10个同时请求连接然后一个连接成功后关闭另外9个在内存资源上显得似乎不合理否则上面各位说的都是很好的方法。只需要在客户端设置1个winsock,循环连接,成功则退出。或者是先ping ip 通了就连接