zoukankan      html  css  js  c++  java
  • C socket复习

    之前学过很长一段时间,我记得当时还花钱找了个专业的人使劲问一些不懂的问题,感觉有人指路会很好弄。

    结果其实不然,他得思路未必适合你的使用。然后这几天一直都在纠结一些东西,不知道怎么去实现。

    目前想到的方案是用C来实现底层的通讯,中间加锁来减轻通讯压力。被迫复习SOCKET,我一直都很喜欢Perl

    因为我一直都觉得它是代替C的工具,但是其实在某种情况下,Perl是有瓶颈的。Python也是如此。

    自己按照复习的顺序写了个socket的案例,跟扫描相关。我本来就是做安全类的东西,不多解释了。。

    #include<sys/socket.h>
    #include<stdio.h>
    #include<netinet/in.h>
    #include<string.h>
    
    int testport(int port,char address[]);
    
    void main(){
      int i;
      for(i=1;i<65535;i++){
         if(testport(i,"192.168.31.254")==1){
            printf("%d:端口开放
    ",i);
         }
      }
    }
    
    int testport(int port,char address[]){
      //定义sockfd
      int sock_cli=socket(AF_INET,SOCK_STREAM,0);
    
      //定义sockaddr_in
      struct sockaddr_in servaddr;
      memset(&servaddr,0,sizeof(servaddr));
      //设定协议族
      servaddr.sin_family=AF_INET;
      //设定端口
      servaddr.sin_port=htons(port);
      //设定地址
      servaddr.sin_addr.s_addr=inet_addr(address);
    
       //判断是否连接成功
       if(connect(sock_cli,(struct sockaddr *)&servaddr,sizeof(servaddr))<0){
            return -1;
       }else{
            return 1;
       }
    }
  • 相关阅读:
    oracle性能监控
    MySQL Explain详解
    oracle中merge into用法解析
    Mysql常见函数
    Quartz -第一篇-入门
    搭建zookeeper集群
    linux 安装mysql
    mysql无法远程访问
    ActiveMQ 持久化
    Nyoj 城市平乱(图论)
  • 原文地址:https://www.cnblogs.com/xiaoCon/p/3664063.html
Copyright © 2011-2022 走看看