• 6543阅读
  • 4回复

界面和程序如何连接 [复制链接]

上一主题 下一主题
离线jokers
 
只看楼主 倒序阅读 楼主  发表于: 2010-12-16
关键词: 界面


用qt designer 画了如上的界面
用C 写了个简单的端口扫描器,两者如何联系起来 ?
#include<stdio.h>
#include<unistd.h>
#include<sys/socket.h>
#include<string.h>
#include<netdb.h>
#include<netinet/in.h>
#include<arpa/inet.h>

void print_usage(char* str)
{

 printf("%s start IP\n");
 printf("%s end IP\n");
 printf("%s start port\n");
 printf("%s end  port\n");

}
int main(int argc,char** argv)
{
       struct sockaddr_in server;
 struct servent   * service;

 int ret;
 int port;
 int sockfd;
 int startport;
 int endport;
 unsigned  int ip;
    unsigned  int sip;
 unsigned  int eip;

 
   
    if ((2>argc)|| (argc >5))
 {
  print_usage(argv[0]);
  exit(1);

 }
   if (5==argc)
       {
              sip=ntohl(inet_addr(argv[1]));
  eip=ntohl(inet_addr(argv[2]));
  startport = atoi(argv[3]);
  endport=atoi(argv[4]);
       }
   for(ip=sip;ip<=eip;ip++)
   {

 for(port=startport;port<=endport;port++)
 { 
      if (-1==(sockfd=socket(AF_INET,SOCK_STREAM,0)))
   {
  perror("can not create socket\n");
  exit(1);
    }
    memset(&server,0,sizeof(struct sockaddr_in));
    server.sin_family = AF_INET;
    server.sin_addr.s_addr = htonl(ip);
         server.sin_port = htons(port);

    if (0>(ret=connect(sockfd,(struct sockaddr*)&server,sizeof(struct sockaddr))))
    {
    close(sockfd); 
    continue;
    }                                  
    else
    {     

     service=getservbyport(htons(port),"tcp");
     if(service!=NULL)
     {
      printf("%s   ",service->s_name);
      printf("%d   ",port);
                  printf("%s   ",service->s_proto);
      printf("\n");
     }
     else
     {
                   printf("%d is working,but the name is unkown\n",port);
     }
    
    }
   close(sockfd);
  }
       printf("IP is  %s\n",inet_ntoa(server.sin_addr));
   }
   return 0;
}

离线b05071262

只看该作者 1楼 发表于: 2010-12-16
把designer的界面 生成.h文件,在这个文件里面你可以添加信号和槽关联起来,,
离线b05071262

只看该作者 2楼 发表于: 2010-12-16
你这个程序放在里面,应该会出一大堆错误。。
离线jokers
只看该作者 3楼 发表于: 2010-12-16
回 1楼(b05071262) 的帖子
我知道那个建立信号和槽 ,但是怎么在槽里面把那个端口扫描功能加上?
离线jokers
只看该作者 4楼 发表于: 2010-12-16
回 2楼(b05071262) 的帖子
这个是肯定的,所以才请教各位大虾
快速回复
限100 字节
 
上一个 下一个