夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
          #include <Winsock2.h>
          #include 
          <stdio.h>
          #pragma comment(lib,
          "ws2_32.lib")

          void main() 

              WORD wVersionRequested; 
              WSADATA wsaData; 
              
          int err; 

              wVersionRequested
          =MAKEWORD(1,1); 

              err 
          = WSAStartup(wVersionRequested, &wsaData); 
              
          if (err != 0
              


                  
          return
              }
           

              
          if (LOBYTE(wsaData.wVersion)!=1 || 
                  HIBYTE(wsaData.wVersion)
          !=1
              

                  WSACleanup(); 
                  
          return
              }
           

              SOCKET sockSrv
          =socket(AF_INET,SOCK_DGRAM,0);

              SOCKADDR_IN addrSrv;
              addrSrv.sin_addr.S_un.S_addr
          =htonl(INADDR_ANY);
              addrSrv.sin_family
          =AF_INET;
              addrSrv.sin_port
          =htons(6000);

              bind(sockSrv,(SOCKADDR
          *)&addrSrv,sizeof(SOCKADDR));

              
          char recvBuf[100];
              
          char sendBuf[100];
              
          char tempBuf[200];

              SOCKADDR_IN addrClient;
              
          int len=sizeof(SOCKADDR);

              
          while(1)
              
          {
                  recvfrom(sockSrv,recvBuf,
          100,0,(SOCKADDR*)&addrClient,&len);
                  
          if('q'==recvBuf[0])
                  
          {
                      sendto(sockSrv,
          "q",strlen("q")+1,0,(SOCKADDR*)&addrClient,len);
                      printf(
          "Chat end!%n");
                      
          break;
                  }

                  sprintf(tempBuf,
          "%s say:%s",inet_ntoa(addrClient.sin_addr),recvBuf);
                  printf(
          "%s\n",tempBuf);
                  printf(
          "Please input data:\n");
                  gets(sendBuf);
                  sendto(sockSrv,sendBuf,strlen(sendBuf)
          +1,0,(SOCKADDR*)&addrClient,len);
              }

              closesocket(sockSrv);
              WSACleanup();
          }


          #include <Winsock2.h>
          #include 
          <stdio.h>
          #pragma comment(lib,
          "ws2_32.lib")

          void main() 

              WORD wVersionRequested; 
              WSADATA wsaData; 
              
          int err; 

              wVersionRequested
          =MAKEWORD(1,1); 

              err 
          = WSAStartup(wVersionRequested, &wsaData); 
              
          if (err != 0
              


                  
          return
              }
           

              
          if (LOBYTE(wsaData.wVersion)!=1 || 
                  HIBYTE(wsaData.wVersion)
          !=1
              

                  WSACleanup(); 
                  
          return
              }
           
              
              SOCKET sockClient
          =socket(AF_INET, SOCK_DGRAM,0);

              SOCKADDR_IN addrSrv;
              addrSrv.sin_addr.S_un.S_addr
          =inet_addr("127.0.0.1");
              addrSrv.sin_family
          =AF_INET;
              addrSrv.sin_port
          =htons(6000);
               
          char recvBuf[100];
               
          char sendBuf[100];
               
          char tempBuf[200];

               
          int len=sizeof(SOCKADDR);

               
          while(1)
               
          {
                   printf(
          "please input data:\n");
                   gets(sendBuf);
                   sendto(sockClient,sendBuf,strlen(sendBuf)
          +1,0,
                       (SOCKADDR
          *)&addrSrv,len);
                   recvfrom(sockClient,recvBuf,
          100,0,(SOCKADDR*)&addrSrv,&len);
                   
          if('q'==recvBuf[0])
                   
          {
                       sendto(sockClient,
          "q",strlen("q")+1,0,
                           (SOCKADDR
          *)&addrSrv,len);
                       printf(
          "Chat end!\n");
                       
          break;
                   }

                   sprintf(tempBuf,
          "%s say:%s",inet_ntoa(addrSrv.sin_addr),recvBuf);
                   printf(
          "%s\n",tempBuf);
               }

               closesocket(sockClient);
               WSACleanup();
          }
          posted on 2009-08-19 18:53 HUIKK 閱讀(375) 評論(0)  編輯  收藏 所屬分類: C/C++
          主站蜘蛛池模板: 武义县| 新绛县| 桐乡市| 蒙阴县| 襄垣县| 雅江县| 阜南县| 广安市| 乌兰察布市| 南漳县| 柏乡县| 松江区| 确山县| 枝江市| 县级市| 克拉玛依市| 景德镇市| 兰考县| 平阳县| 抚顺县| 应用必备| 望都县| 金塔县| 渭南市| 鹤峰县| 武邑县| 乌兰县| 吉安县| 榆树市| 玉树县| 大宁县| 三门峡市| 安平县| 河池市| 阿克苏市| 锦州市| 余姚市| 名山县| 比如县| 五常市| 莱阳市|