int main(int argc, char *argv[]) { if(argc > 1) {SetSock(atoi(argv[1]));} else SetSock(80); pthread_t accept; pthread_create(&accept, NULL, aThread, "NULL"); while(alive == 1) { char *cmd = malloc(256); memset(cmd, 0, 256); scanf("%s", cmd); if(strcmp(cmd, "shutdown") == 0) break; } pthread_cancel(accept); int i; for( i = 0 ; i < cNum ; i++ ) pthread_cancel(clients[i].p); return 0; }
void initSocket(const char* strPort, const char* ip) { int port = atoi(strPort); struct sockaddr_in servaddr; SetSock(&servaddr, port, ip); int fd = Socket(AF_INET, SOCK_STREAM, 0); Bind(fd, (SADDR*)&servaddr, sizeof(SADDR)); Listen(fd, LISTENNQ); fprintf(stdout, "%s\n", "acceptSocket"); acceptSocket(fd); }
int sendPass(char *inpass, int size) { char *pass = malloc(size + 1), c, *post = malloc(8192 * sizeof(char)), *buf = malloc(256 * sizeof(char)); memset(pass, 0, size + 1); memset(buf, 0, 256 * sizeof(char)); memset(post, 0, 8192 * sizeof(char)); for(c = 0; c < size; c++) pass[c] = allowed[inpass[c]]; sprintf(post, "%s%i\r\n\r\n%s%s", postHeader, strlen(postBody) + size, postBody, pass); SetSock("127.0.0.1", 80); printf("Sent Bytes: %i\n", send(sock, post, strlen(post), 0)); printf("Received Bytes: %i\n", recv(sock, buf, 256 * sizeof(char), 0)); if(strstr(buf, "success") != NULL) { printf("Password: %s\nTime spent: %fs\n%s+n", pass, ((clock() / (CLOCKS_PER_SEC / 1000)) - lastPass) / 1000.0, buf); free(pass); return 1; } free(pass); return 0; }
int cMessageSender::Start(SOCKET Sock, bool isTcp) { if(isEnd() == false) { Stop(); } SetEnd(false); SetSock(Sock); if(isTcp) m_pThread = new std::thread(ThreadJob, this); else m_pThread = new std::thread(UdpThreadJob, this); return 0; }
void Acceptor::InitAcceptor() { //SetEventType(ACCEPTOR);//enum 的使用方法不知道是否正确; int _sock_fd=socket(AF_INET,SOCK_STREAM,0); struct sockaddr_in sin; sin.sin_family=AF_INET; sin.sin_port=htons(listen_address.GetPort()); inet_pton(AF_INET,listen_address.GetIp().c_str(),&sin.sin_addr); if(bind(_sock_fd,(struct sockaddr*)&sin,sizeof(sin))<0) { std::cout<<"Bind Error"<<std::endl; _exit(1); } if(listen(_sock_fd,1000)<0) { std::cout<<"listen Error..."<<std::endl; _exit(2); } SetSock(_sock_fd);//这里的setSock的里面向reactor了相应的世界 //initAcceptor }