afunms

          My Software,My Dream—Forge a more perfect NMS product.

          c socket programming

          ---------send to--------

          #include "stdio.h"
          #include 
          "sys/socket.h"
          #include 
          "netinet/in.h"

          int main(void)
          {
              
          struct sockaddr_in sockin;
              
          int sockId = 0,ret = 0;
              
          char* buf;  

              sockId 
          = socket(AF_INET,SOCK_DGRAM,0);
              
          if(sockId < 0)
               
          {
                   printf(
          "Socket Failed!\n");
                   
          return 1;
               }
             
              memset(
          &sockin,0x0,sizeof(sockin));

              sockin.sin_family 
          = AF_INET;
              sockin.sin_port 
          = htons(1234);
              sockin.sin_addr.s_addr 
          = inet_addr("192.168.2.4");
              
          //memset(&buf,'A',100);

              buf 
          = "This is message from server";
              ret 
          = sendto(sockId,buf,100,0,(struct sockaddr *)&sockin,sizeof(sockin));
              
          if(ret != 100)
               
          {
                  printf(
          "Sendto failed!\n");
                  
          return 1;
               }

              close(sockId);
              printf(
          "Sendto succeed!\n");
              
          return 0;
          }


          -----------receive----------
          #include "stdio.h"
          #include 
          "sys/socket.h"
          #include 
          "netinet/in.h"

          int main(void)
          {
              
          struct sockaddr_in sockin;
              
          int sockId = 0,ret = 0;
              
          char buf[100];  

              sockId 
          = socket(AF_INET,SOCK_DGRAM,0);
              
          if(sockId < 0)
               
          {
                   printf(
          "Socket Failed!\n");
                   
          return 1;
               }
             
              memset(
          &sockin,0x0,sizeof(sockin));

              sockin.sin_family 
          = AF_INET;
              sockin.sin_port 
          = htons(1234);
              sockin.sin_addr.s_addr 
          = INADDR_ANY;


              ret 
          = bind(sockId,(struct sockaddr *)&sockin,sizeof(sockin));
              
          if(ret < 0)
               
          {
                  printf(
          "bind failed!\n");
                  
          return 1;
               }

              ret 
          = recvfrom(sockId,buf,100,0,NULL,NULL);
              
          if(ret < 0)
               
          {
                  printf(
          "Recvfrom failed!\n");
                  
          return 1;
               }

              printf(
          "Recvfrom result=%d\n",ret);
              close(sockId);
              printf(
          "%s\n",buf);
              
          return 0;  
          }


          posted on 2008-03-12 15:51 afunms 閱讀(161) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          My Links

          News

          留言簿(18)

          隨筆檔案

          相冊

          搜索

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 宜丰县| 日土县| 隆安县| 磴口县| 山阳县| 阳谷县| 青河县| 庆阳市| 库尔勒市| 张家口市| 龙南县| 罗定市| 廉江市| 贵阳市| 镇康县| 江孜县| 赫章县| 武冈市| 云浮市| 马鞍山市| 扬中市| 贡山| 岑巩县| 郓城县| 辽宁省| 聂拉木县| 临颍县| 阿克| 柘荣县| 永仁县| 克山县| 安乡县| 乌拉特前旗| 临泽县| 瑞金市| 宜丰县| 内黄县| 蕉岭县| 南乐县| 郑州市| 高州市|