高级多线程程序编写(算法,实现 ) 附源代码,请高手允以更正(10)

  • 主题发起人 主题发起人 gfwlxx
  • 开始时间 开始时间
G

gfwlxx

Unregistered / Unconfirmed
GUEST, unregistred user!
编程涉及到多线程,这个问题已经困扰我很多很多年了,希望有高手可以出手帮忙,感激不尽简单的说一个扫描器,一定会涉及到多线程。而最简单的多线程扫描器就是多线程端口扫描器网上到处可以找到 TCP Port Scanner V1.1 By WinEggDrop ,这个人写的扫描器很棒,可惜没提供源代码,所以我只能自己原创算法了如何编写多线程端口扫描器要求根他的功能一样
 
首先端口探测函数checkport,控制台读取参数并解析 先不说,多线程控制算法 关键在于控制并发线程,不能多,因为多了cpu mem会崩溃,少了不行,少了会影响速度,如果一个ip65535个端口一个线程循环扫的话要扫半个世纪这里一定要处理好容错,临界区,等待标识符,这些我都实现了,但是程序运行过程中偶尔还是会内存xx错误。。。其次就是 以及ip遍历算法, 或者是导入带扫描ip列表算法
 
10分是不是在做梦?
 
又见老白
 
其实,10分是因为我提问的时候没有填写分的项目,而默认成了十分。我想我提的这个问题不是小菜鸟可以打出来的,只有有一定水平的高手。我在心中高手是不会看分而看问题而定,即使是一万份如果是edit1.text赋值这样的问题 也是不会回答的。即使是0分, 如果是有技术性的问题, 高手甚至会浪费自己即使小时或者是吧自己几年的劳动成果现出如果你只是为了分的话,你可以走了
 
分不够可以理解, 但也不能这么说吧...分数怎么说也是为 delphibbs 做出贡献的一个表现, 如果是高手更应该培养我等菜鸟, 即便是简单问题. 从delphibbs中获益自然也应该为之付出才对啊...
 
IP遍历算法? 难道你不是指定IP或者IP段吗?以前到是写过一个消息推送的东西,方式上类似扫描器先算端口数量生成合适的线程,然后建立TCP连接异步发消息,都发完了再循环接收连接数据所以每个线程端口不多,设置最多20个并发线程数最多10个超时2秒测试效果还凑合,程序是在服务器上24小时跑的,不用怎么考虑效率,所以直接用socket的TCP连接
 
后退
顶部