青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Prayer

在一般中尋求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

socket返回值遞增之線程與進程的討論

Posted on 2009-01-21 16:17 Prayer 閱讀(721) 評論(0)  編輯 收藏 引用 所屬分類: SOCKET
   (標題似乎優(yōu)點語無倫次,確實不知道怎么用幾個字說清楚,看下面的吧!!)
============================================================

負一. 分別討論在兩個進程與兩個線程之間同時調用socket時,返回值fd的遞增方式


零. 為什么討論這個問題?
    現在正在寫一個端口掃描程序,需要用到非阻塞connect,由于系統(tǒng)提供的select最大描述字個數為1024(Linux是這么多,其他系統(tǒng)使用輸出FD_SETSIZE得到),012號描述字給了標準輸入輸出錯誤流,所以fd從3開始遞增。為了實現更快的端口掃描,必須同時打開幾千個描述字,又由于有個1024的問題,所以必須使用多線程或者多進程來實現。這里要討論的是在線程或進程中能各自不影響的遞增嗎?

一. 不同進程之間同時調用socket
        (1)測試代碼如下:

/* Running in 2 different shell,(catch the same result) */
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>

#define MAXNUM 10

int main(int argc,char **argv)
{
    int fd[MAXNUM];
    int i;
    
    for(i=3;i<MAXNUM;i++)
    {
        if((fd[i]=socket(AF_INET,SOCK_STREAM,0))==-1)
        {
            printf("Socket %d error!\n",i);
            exit(-1);
        }
        printf("fd=%d \n",fd[i]);
        sleep(1);
    }
    return 0;
}


      (2)測試方法
          編譯好后,分別同時在兩個SHELL下執(zhí)行,會在兩個SHELL得到各自的結果
      (3)結果
          兩個SHELL上得到了相同的結果,也就是說,fd的值都是從3開始遞增的(而不是交叉),如下:
(由于兩個結果相同,只列出一個)

zuii@william-desktop:~/c/hack$ ./fdnum
fd=3
fd=4
fd=5
fd=6
fd=7
fd=8
fd=9


      (4)測試結論
          在不同進程之間同時調用socket返回值各自不影響,所以端口掃描程序可以使用多進程實現加快速度!

二.同一進程的不同線程之間同時調用socket
    (1)測試代碼如下:

/* Use 2 thread */
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <pthread.h>

#define MAXNUM 10

void *sub_thread()
{
    int fdd[MAXNUM],i;
    for(i=3;i<MAXNUM;i++)
    {
        if((fdd[i]=socket(AF_INET,SOCK_STREAM,0))==-1)
        {
            printf("Socket %d error!\n",i);
            exit(-1);
        }
        printf("fdd=%d \n",fdd[i]);
        sleep(1);
    }

}
int main(int argc,char **argv)
{
    int fd[MAXNUM];
    int i,res;
    pthread_t threadid;
    void *ExitResult;

    if((res=pthread_create(&threadid,NULL,sub_thread,NULL))!=0)
    {
        perror("Thread creation failed");
        exit(-1);
    }
    
    for(i=3;i<MAXNUM;i++)
    {
        if((fd[i]=socket(AF_INET,SOCK_STREAM,0))==-1)
        {
            printf("Socket %d error!\n",i);
            exit(-1);
        }
        printf("fd=%d \n",fd[i]);
        sleep(1);
    }
    if((res=pthread_join(threadid,&ExitResult))!=0)
    {
        perror("Thread join failed");
        exit(-1);
    }    
    return 0;
}


   (2)編譯,運行(一個進程)
   (3)結果

zuii@william-desktop:~/c/hack$ ./fdnum2
fdd=3
fd=4
fdd=5
fd=6
fdd=7
fd=8
fdd=9
fd=10
fdd=11
fd=12
fdd=13
fd=14
fdd=15
fd=16


    (4)測試結論
          很顯然,輸出結果是相互影響的,所以端口掃描不能用多線程來實現!

三.結論
      (1). 不同進程打開描述字互不影響
      (2). 同一進程中不同線程打開描述字相互影響
      (3). 端口掃描程序可以用多進程來實現更快的掃描

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品日韩久久久久| 一本一本久久a久久精品综合妖精| 一区精品在线| 伊人久久综合97精品| 亚洲成色精品| 亚洲狼人综合| 亚洲图片在线| 欧美一区二区三区日韩视频| 久久国产婷婷国产香蕉| 欧美成人黄色小视频| 亚洲精品九九| 一区二区三区精品视频| 亚洲欧美在线观看| 麻豆精品视频在线观看视频| 欧美日韩视频专区在线播放| 国产视频精品xxxx| 亚洲精品一区在线观看香蕉| 亚洲综合三区| 免费不卡在线视频| 一区二区日韩| 久久综合伊人| 国产精品影院在线观看| 激情亚洲成人| 亚洲伊人一本大道中文字幕| 美女在线一区二区| 亚洲一区二区成人在线观看| 欧美91视频| 国产午夜精品一区二区三区欧美| 亚洲最新在线视频| 男女精品网站| 香蕉久久夜色精品| 欧美特黄视频| 艳妇臀荡乳欲伦亚洲一区| 久久激情五月丁香伊人| 99www免费人成精品| 久久夜色精品国产欧美乱极品| 国产精品久久久久久久久免费樱桃 | 精品福利免费观看| 亚洲综合日韩| 亚洲精品精选| 欧美成人一品| 黄色亚洲免费| 久久精品国产77777蜜臀| 一区二区av| 欧美日韩日韩| 一区二区三区国产精品| 亚洲黄色免费电影| 久久综合99re88久久爱| 狠狠久久亚洲欧美| 久久久综合免费视频| 欧美一区二区成人| 国产婷婷一区二区| 久久九九国产精品| 久久精品国产久精国产爱| 国产亚洲毛片| 久久天天综合| 久久久久久亚洲精品中文字幕 | 久久欧美中文字幕| 欧美一区三区三区高中清蜜桃| 国产精品―色哟哟| 欧美一区二区免费观在线| 亚洲一区精品视频| 国产欧美在线观看一区| 久久精品视频免费| 久久精品视频免费| 亚洲第一网站| 91久久精品国产91性色 | 亚洲丶国产丶欧美一区二区三区| 久久青草欧美一区二区三区| 久久精品人人爽| 亚洲精品国精品久久99热| 91久久国产综合久久蜜月精品 | 欧美日韩免费| 亚洲永久在线观看| 午夜在线播放视频欧美| 国精产品99永久一区一区| 狼人社综合社区| 欧美成人精品不卡视频在线观看| 亚洲国产婷婷综合在线精品| 亚洲激情在线观看视频免费| 欧美三级午夜理伦三级中视频| 亚洲欧美日韩综合aⅴ视频| 性欧美xxxx大乳国产app| 一区二区在线视频播放| 91久久一区二区| 国产精品视频导航| 免费成人黄色| 欧美日韩在线免费视频| 久久久久久夜| 欧美激情综合| 久久高清一区| 欧美日韩国产一区二区| 欧美中文字幕在线观看| 欧美~级网站不卡| 欧美精品亚洲一区二区在线播放| 亚洲天堂第二页| 久久久久综合一区二区三区| 亚洲视频欧美视频| 久久只精品国产| 亚洲系列中文字幕| 久久深夜福利| 欧美亚洲免费在线| 欧美成在线视频| 久久久综合视频| 国产精品男gay被猛男狂揉视频| 欧美va日韩va| 国产亚洲欧美在线| 一区二区日韩精品| 亚洲免费av观看| 久久久国产视频91| 欧美一区二区三区日韩| 国产精品成人免费精品自在线观看| 欧美成人按摩| 国产婷婷成人久久av免费高清 | 最新热久久免费视频| 国内外成人在线| 亚洲一区二区在线免费观看视频| 亚洲精品麻豆| 久久综合一区二区| 六月婷婷一区| 国产一区二区电影在线观看| 亚洲图片欧洲图片av| 99精品国产99久久久久久福利| 久久人人97超碰国产公开结果| 久久精品成人一区二区三区| 国产精品久久久久久久久婷婷| 日韩视频二区| 一区二区精品| 欧美天堂在线观看| 夜久久久久久| 亚洲欧美另类综合偷拍| 欧美午夜精品一区二区三区| 亚洲美女精品一区| 一区二区欧美亚洲| 欧美色精品在线视频| 一区二区三区高清在线 | 美国十次成人| 亚洲第一毛片| 欧美黄色视屏| 亚洲啪啪91| 一区二区国产精品| 国产精品久久| 香蕉乱码成人久久天堂爱免费| 久久精品人人做人人爽| 国内精品久久久久久久果冻传媒| 久久精品国产成人| 亚洲福利视频专区| 99re6这里只有精品视频在线观看| 欧美激情在线狂野欧美精品| 一区二区av在线| 欧美一区1区三区3区公司| 国产一区二区av| 蜜月aⅴ免费一区二区三区| 亚洲国产精品一区二区久| 这里只有精品丝袜| 国产欧美一区二区精品性色 | 极品少妇一区二区三区精品视频| 久久久久久久综合色一本| 亚洲国产婷婷| 香蕉国产精品偷在线观看不卡| 国产一区二三区| 欧美久久九九| 亚洲欧美综合网| 欧美成人精品一区二区| 在线亚洲精品福利网址导航| 国产毛片精品国产一区二区三区| 久久久一本精品99久久精品66| 亚洲精品1区| 久久精品人人爽| 一区二区三区国产| 狠狠色综合播放一区二区| 欧美日韩123| 久久久综合精品| 亚洲影院一区| 亚洲黄色视屏| 欧美在线www| 亚洲免费观看在线观看| 国产午夜久久久久| 欧美视频官网| 女人天堂亚洲aⅴ在线观看| 亚洲免费视频成人| 亚洲电影中文字幕| 久久精品国产免费| 中文在线资源观看网站视频免费不卡| 国产精品你懂的在线欣赏| 欧美成人一二三| 久久欧美肥婆一二区| 午夜日韩电影| 一区二区激情视频| 亚洲福利一区| 老色批av在线精品| 久久精品日产第一区二区三区| 亚洲图片欧洲图片av| 亚洲美女福利视频网站| 精品动漫一区| 国产婷婷色综合av蜜臀av | 久久先锋影音| 亚洲欧美日韩精品在线| 日韩午夜在线| 亚洲美洲欧洲综合国产一区|