#include#include#include #include#include#include
发现服务已开启的TCP服务

发现服务已开启的TCP服务

ID:40634782

大小:68.50 KB

页数:3页

时间:2019-08-05

发现服务已开启的TCP服务_第1页
发现服务已开启的TCP服务_第2页
发现服务已开启的TCP服务_第3页
资源描述:

《发现服务已开启的TCP服务》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1、源代码:#pragmapack(4)#pragmacomment(lib,"Ws2_32.lib")#include#include#include#include#include#defineSTATUS_FAILED0xFFFF//错误码unsignedlongserverIP;//扫描的服务器地址longMaxThread=200;//最大允许的扫描线程数longThreadCo

2、unt=0;//当前正在扫描的线程数long*aa=&ThreadCount;DWORDWINAPIScanPort(LPVOIDlpParam);//扫描端口的线程voidmain(intargc,char*argv[])//主函数{if(argc!=2)//判断输入格式是否正确{cout<<"输入格式错误:ScanUsePortserverip:"<

3、WORD(2,2),&WSAData)!=0)//开始使用Ws2-32.dll{cout<<"WSAStartupfailed:"<=MaxThre

4、ad)//超过最大允许线程数,等待{Sleep(10);//睡眠10ms,暂停线程执行}DWORDThreadID;//创建线程,扫描端口CreateThread(NULL,0,ScanPort,(LPVOID)newshort(i),0,&ThreadID);}while(ThreadCount>0)//还有未完结的线程,等待{Sleep(50);//睡眠50ms,暂停线程执行}WSACleanup();//调用WSACleanup函数来解除与Socket库的绑定并且释放Socket库所占用的系

5、统资源}//扫描线程的端口DWORDWINAPIScanPort(LPVOIDlpParam){shortPort=*(short*)lpParam;//定义端口InterlockedIncrement(aa);//线程数目+1SOCKETsock=socket(AF_INET,SOCK_STREAM,0);//创建原始套接字if(sock==INVALID_SOCKET){cout<<"创建套接字失败!"<

6、的服务器IPseverAddr.sin_family=AF_INET;severAddr.sin_port=htons(Port);//端口地址severAddr.sin_addr.S_un.S_addr=serverIP;//IP地址connect(sock,(sockaddr*)&severAddr,sizeof(severAddr));//写socket集合structfd_setwrite;FD_ZERO(&write);FD_SET(sock,&write);structtimevalt

7、imeout;//超时timeout.tv_sec=100/1000;timeout.tv_usec=0;//设置超时时间if(select(0,NULL,&write,NULL,&timeout)>0){cout<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。