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

            斜樹的空間

            集中精力,放棄一切的去做一件事情,只要盡力了,即使失敗了,你也不會(huì)后悔!

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              47 隨筆 :: 0 文章 :: 12 評(píng)論 :: 0 Trackbacks

            使用協(xié)議UDP,僅實(shí)現(xiàn)簡(jiǎn)單的連接功能:

            服務(wù)端:
            #pragma   comment(lib,   "ws2_32.lib ")

            #include <winsock2.h>
            #include <stdio.h>

            int main()
            {
             SOCKET socket1;
             WSADATA wsaData;


             int iErrorcode;
             if(WSAStartup(MAKEWORD(2,2), &wsaData))
             {
              printf("Winsock can not be init!");
              WSACleanup();
              return 0;
             }

             printf("server begin to create socket!\n");
             //struct sockaddr_in local;
             //struct sockaddr_in from;
             sockaddr_in local;
             sockaddr_in from;

             int fromlen = sizeof(from);

             local.sin_addr.s_addr = INADDR_ANY;
             local.sin_family =  AF_INET;
             local.sin_port = htons(5566);

             socket1 = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
             bind(socket1, (struct sockaddr *)&local, fromlen);
             
             while(1)
             {
              char buffer[1024] = "\0";

              printf("waiting message form client:");

              if(SOCKET_ERROR != recvfrom(socket1,
               buffer, sizeof(buffer), 0,
               (struct sockaddr *)&from, &fromlen))
              {
               if(strcmp(buffer, "bye") == 0)
               {
                printf("client quit!\n");
                break;
               }
               printf("recieve message form %s -- %s \n",
                inet_ntoa(from.sin_addr), buffer);
               sendto(socket1, buffer, sizeof(buffer),
                0, (struct sockaddr *)&from, fromlen);
              }
              
             }
             closesocket(socket1);

             return 0;
            }

            客戶端:
            #pragma   comment(lib,   "ws2_32.lib ")

            #include <winsock2.h>
            #include <stdio.h>

            int main()
            {
             SOCKET socket1;
             WSADATA wsaData;

             if(WSAStartup(MAKEWORD(2,2), &wsaData))
             {
              printf("can not init !\n");
              WSACleanup();
              return 0;
             }
             
             printf("client begin to create socket!\n");
             struct sockaddr_in server;
             int len = sizeof(server);

             server.sin_addr.s_addr = inet_addr("127.0.0.1");
             server.sin_port = htons(5566);
             server.sin_family = AF_INET;

             socket1 = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP );
             
             while(1)
             {
              char buffer[1024] = "\0";
              printf("input message: ");
              scanf("%s", buffer);
              if(strcmp(buffer, "bye") == 0)
              {
               sendto(socket1, "bye", 3 * sizeof(char), 0,
                (struct sockaddr *)&server, len);
               printf("exit!\n");
               Sleep(100);
               closesocket(socket1);
               break;
              }
              
              if(SOCKET_ERROR != sendto(socket1, buffer, sizeof(buffer),
               0, (sockaddr *)&server, len))
              {
               Sleep(100);
               if(recvfrom(socket1, buffer, sizeof(buffer), 0, (struct sockaddr *)&server, &len) != SOCKET_ERROR)
               {
                printf("recieve from server : %s \n", buffer);
               }
              }
              
             }
             closesocket(socket1);

             return 0;
            }

            posted on 2010-05-15 21:12 張貴川 閱讀(683) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            国产精品久久久久无码av| 久久www免费人成精品香蕉| 亚洲精品乱码久久久久久自慰| 久久亚洲日韩看片无码| AV无码久久久久不卡网站下载| 久久精品国产精品亚洲艾草网美妙| 日本亚洲色大成网站WWW久久| 久久亚洲精品无码AV红樱桃| 久久久久一级精品亚洲国产成人综合AV区 | 国产高清国内精品福利99久久| 欧美大战日韩91综合一区婷婷久久青草| 大香伊人久久精品一区二区| 久久精品国产91久久麻豆自制 | 中文字幕乱码人妻无码久久| 91精品国产91久久久久久青草| 久久国产色av免费看| 国产91色综合久久免费分享| 久久亚洲AV无码精品色午夜| 国产精品永久久久久久久久久| a级成人毛片久久| 亚洲午夜久久久久久久久电影网| 久久久久亚洲精品天堂久久久久久| 国产精品久久国产精麻豆99网站| 久久青青草视频| 一级a性色生活片久久无少妇一级婬片免费放 | 欧美性大战久久久久久| 久久综合九色综合久99| 成人妇女免费播放久久久| 久久综合亚洲色HEZYO社区| 久久精品国产欧美日韩| 国产精品综合久久第一页| 久久精品国产精品国产精品污| 久久夜色精品国产网站| 久久青青草原亚洲av无码app| 亚洲精品久久久www| 亚洲欧洲久久久精品| 久久久久人妻一区精品| 亚洲人成无码www久久久| 99久久国产热无码精品免费| 无遮挡粉嫩小泬久久久久久久| 日日噜噜夜夜狠狠久久丁香五月|