Linux C基于Socket的多线程扫描程序
来源:互联网 发布:c5 aircross 知乎 编辑:程序博客网 时间:2024/06/08 07:01
#include <sys/stat.h>#include <fcntl.h>#include <errno.h>#include <netdb.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <string.h>#include <stdlib.h>#include <stdio.h>#include <unistd.h>#include <pthread.h>char strIP[20];int nPort=0;int nThreadNum=0;int nThreadCurNum=0;void* ProcessThreadProc(void *pPara){ struct sockaddr_in serverAddr;int clientSocket;char sendbuf[200];char recvbuf[200];if((clientSocket=socket(AF_INET,SOCK_STREAM,0)) < 0){nThreadCurNum--;perror( "socket error" );return NULL; }serverAddr.sin_family=AF_INET;serverAddr.sin_port=htons(nPort);serverAddr.sin_addr.s_addr=inet_addr(strIP);if(connect(clientSocket,( struct sockaddr * )&serverAddr,sizeof(serverAddr)) < 0){nThreadCurNum--;perror( "Connect error" );return NULL; }printf("Connect with destination host OK .....\n");while(1){sleep(1);}close(clientSocket);nThreadCurNum--;return NULL;}main(){int i = 0;int nFlag = 0;int nSuccessNum = 0;printf("Input IP:>");scanf("%s",strIP);printf("%s\n",strIP);printf("Input Port:>");scanf("%d",&nPort);printf("%d\n",nPort);printf("Input Thread NuM:>");scanf("%d",&nThreadNum);printf("%d\n",nThreadNum);nThreadCurNum = nThreadNum;for(i=0; i < nThreadNum; i++){pthread_t num;nFlag = pthread_create(&num, NULL, ProcessThreadProc, (void *)i);if(nFlag != 0){printf("Error: Thead Error [%d]....\n",i);nThreadCurNum--;}elsenSuccessNum++;}printf("Success Num: %d Failed Num: %d \n",nSuccessNum,nThreadNum-nSuccessNum);while(true){printf("Current Num: %d\n",nThreadCurNum);sleep(2);}return 0;}
0 0
- Linux C基于Socket的多线程扫描程序
- Linux下基于socket和多线程的聊天室小程序
- Linux下基于socket和多线程的聊天室小程序
- 基于多线程的c/s socket类
- 使用socket的Linux上的C语言helloworld多线程服务器和客户端测试程序
- 使用socket的Linux上的C语言helloworld多线程服务器和客户端测试程序
- 使用socket的Linux上的C语言helloworld多线程服务器和客户端测试程序
- 使用socket的Linux上的C语言helloworld多线程服务器和客户端测试程序
- 使用socket的Linux上的C语言helloworld多线程服务器和客户端测试程序
- 基于socket、多线程的客户端服务器端聊天程序
- 基于Socket和多线程编程的聊天程序实现
- 基于Java socket和多线程的简易聊天小程序
- [C语言] 基于Linux的一对一Socket简易聊天程序实例
- 基于Linux C的socket抓包程序和Package分析 (一)
- 基于Linux C的socket抓包程序和Package分析 (二)
- Linux下基于socket多线程并发通信的实现
- Linux下基于socket多线程并发通信的实现
- Linux下基于socket多线程并发通信的实现
- SDUTOJ懒虫小鑫
- Leetcode#5||Longest Palindromic Substring
- 21-IO流-09-IO流(字符流-练习-复制文本文件_2)
- 图片
- CodeForces - 344D Alternating Current (模拟题)
- Linux C基于Socket的多线程扫描程序
- 算法竞赛入门经典: 第三章 数组和字符串 3.2开灯问题
- 源码安装postgresql
- Windows下搭建GCC + Eclipse + OpenOCD的ARM开发环境
- 安装部署nginx
- [笔记]VisionMobile:2015 H1开发者大趋势
- 21-IO流-11-IO流(字符流-缓冲区-解释)
- java基础--StringBuffer pk String
- iOS开发工具——统计Crash的工具Crashlytics