• <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>

            elva

            Linux-C-Socket編程

            本文內(nèi)容提到的套接字都是Berkely socket.

            實(shí)用套接字的四個(gè)步驟:
            1 分配空間和初始化
            2 連接
            3 傳送數(shù)據(jù)
            4 關(guān)閉

            具體算法:

            服務(wù)器端:
            #include <sys/socket.h>
            #include <netinet/in.h>

            int socket_descriptor;
            socket_descriptor = socket(AF_INET, SOCK_STREAM, 0);

            int port = 8000;
            struct sockaddr_in sin;
            sin.sin_family = AF_INET;
            sin.sin_addr.s_addr = INADDR_ANY;
            pin.sin_port = htons(port);

            bind(socket_descriptor,(struct socketaddr *)&sin, sizeof(sin) );

            listen(socket_descriptor, 1024);

            struct sockaddr_in pin;
            int address_size;
            int temp_socket_descriptor;

            while(1) {
              temp_socket_descriptor = accept(socket_descriptor,(struct socketaddr *)&pin,  sizeof(address_size));
              ......
              close(temp_socket_descriptor);
            }


            客戶端:
            #include <sys/socket.h>
            #include <netinet/in.h>
            #include <netdb.h>     //直接影響sockaddr_in.sin_addr的填寫

            char * host_name = "127.0.0.1";
            struct hostent * server_host_name;
            server_host_name = gethostbyname(host_name);

            int port = 8000;
            struct sockaddr_in pin;
            pin.sin_family = AF_INET;
            pin.sin_addr.s_addr = htol(INADDR_ANY);
            pin.sin_addr.s_addr = ((struct in_addr *)(server_host_name->h_addr))->s_addr; 或者 pin.sin_addr = *(struct in_addr *) server_host_name->h_addr;
            pin.sin_port = htons(port);

            int socket_descriptor;
            socket_descriptor = socket(AF_INET, SOCK_STREAM, 0);
            connect(socket_descriptor, (void *)&pin, sizeof(pin));
            .......
            close(socket_descriptor);

            posted on 2007-05-24 01:53 葉子 閱讀(501) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Unix

            亚洲AV无码一区东京热久久| 9191精品国产免费久久| 伊人久久大香线蕉av一区| 国内精品久久久久久久97牛牛 | 久久亚洲精品无码播放| 综合久久精品色| 国产精品美女久久久m| 四虎影视久久久免费| 久久国产精品99精品国产| 久久精品国产精品亚洲| www久久久天天com| 亚洲精品无码久久千人斩| 国产精品99久久久久久董美香| 少妇久久久久久被弄高潮| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | AV色综合久久天堂AV色综合在| 青草久久久国产线免观| 成人久久精品一区二区三区| 99久久国产综合精品女同图片| 日韩亚洲国产综合久久久| 成人亚洲欧美久久久久| 久久亚洲国产中v天仙www| 久久亚洲精品人成综合网| 国内精品久久久久久久久电影网| 久久精品视屏| 日本加勒比久久精品| 韩国三级中文字幕hd久久精品 | 日本久久久久久中文字幕| 欧美久久精品一级c片片| 久久青青草原精品国产| 人妻精品久久无码专区精东影业| 精品国产乱码久久久久软件| 久久久久久国产精品无码下载| 香蕉久久AⅤ一区二区三区| 亚洲精品无码久久久| 99精品久久精品一区二区| 中文字幕无码精品亚洲资源网久久| 亚洲精品无码久久久| 久久精品国产精品亚洲精品| 精品久久久噜噜噜久久久| 久久精品国产亚洲一区二区|