Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. socket:send integer

socket:send integer

Scheduled Pinned Locked Moved C / C++ / MFC
sysadminquestionhelpcareer
6 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • U Offline
    U Offline
    User 11441214
    wrote on last edited by
    #1

    how can i send integer ??:confused: ---help---

    /*
    Clent socket tcp
    */
    #include //printf
    #include //strlen
    #include //socket
    #include //inet_addr

    int main(int argc , char *argv[])
    {
    int sock;
    struct sockaddr_in server;
    char message[1000] , server_reply[2000];
    int a;
    char r1;

    //Creation d1 socket
    sock = socket(AF\_INET , SOCK\_STREAM , 0);
    if (sock == -1)
    {
        printf("impossible de creer une socket\\n");
    }
    puts("Socket creer!!!! good job");
     
    server.sin\_addr.s\_addr = inet\_addr("127.0.0.1");//adresse ipv4
    server.sin\_family = AF\_INET;// famille d'@
    server.sin\_port = htons( 8880 );//\*\*en utilisent big endien NBO   pour la sérialiser , htons (host to network short) 
    
    //Connection au serveur
    

    puts ("connection au serveur\n") ;
    if (connect(sock , (struct sockaddr *)&server/*pointeur sur l'@ du serveur est qui est passé en parametre**/ , sizeof(server)) < 0)
    {
    perror("peut pas connecter au serveur");
    return 1;
    }

    puts("vous etnSes Connecté\\n");
         //communition server
    while(1)
    {
        printf("Enter votre nbres : ");
        scanf("%d " ,&a );
        
         
        //envoyer data
        if  (( send(sock , (char \* )& a , sizeof(&a) , 0) < 0)  ) 
    
        {
            puts("l'envoie a ete echoué");
            return 1;
        }
         
        //la réponse du serveur
        if( recv(sock , (char \*)& a , 2000 , 0) < 0)
        {
            puts("recv echoué");
            break;
        }
         
        
    }
     
    close(sock);
    return 0;
    

    }

    /*
    C socket server TCP
    */

    #include
    #include //strlen
    #include
    #include //inet_addr
    #include //write

    int main(int argc , char *argv[])
    {
    int socket_desc , client_sock , c , read_size,read_size1;
    struct sockaddr_in server , client;
    char client_message[2000];
    int a;
    char t ;

    //Creation d1 socket
    socket\_desc = socket(AF\_INET , SOCK\_STREAM , 0);
    if (socket\_desc == -1)
    {
        printf("on peut pas creer la socket");
    }
    puts("Socket bien creer");
     
    //Preparer sockaddr\_in structure
    server.sin\_family = AF\_INET;//\*\*\*fammille d'@
    server.sin\_addr.s\_addr = INADDR\_ANY;//\*\*\*\*\*\*\*\*@ qqn
    server.sin\_port = htons( 8880);//\*\*\*\*\*en utilisen
    
    L J 2 Replies Last reply
    0
    • U User 11441214

      how can i send integer ??:confused: ---help---

      /*
      Clent socket tcp
      */
      #include //printf
      #include //strlen
      #include //socket
      #include //inet_addr

      int main(int argc , char *argv[])
      {
      int sock;
      struct sockaddr_in server;
      char message[1000] , server_reply[2000];
      int a;
      char r1;

      //Creation d1 socket
      sock = socket(AF\_INET , SOCK\_STREAM , 0);
      if (sock == -1)
      {
          printf("impossible de creer une socket\\n");
      }
      puts("Socket creer!!!! good job");
       
      server.sin\_addr.s\_addr = inet\_addr("127.0.0.1");//adresse ipv4
      server.sin\_family = AF\_INET;// famille d'@
      server.sin\_port = htons( 8880 );//\*\*en utilisent big endien NBO   pour la sérialiser , htons (host to network short) 
      
      //Connection au serveur
      

      puts ("connection au serveur\n") ;
      if (connect(sock , (struct sockaddr *)&server/*pointeur sur l'@ du serveur est qui est passé en parametre**/ , sizeof(server)) < 0)
      {
      perror("peut pas connecter au serveur");
      return 1;
      }

      puts("vous etnSes Connecté\\n");
           //communition server
      while(1)
      {
          printf("Enter votre nbres : ");
          scanf("%d " ,&a );
          
           
          //envoyer data
          if  (( send(sock , (char \* )& a , sizeof(&a) , 0) < 0)  ) 
      
          {
              puts("l'envoie a ete echoué");
              return 1;
          }
           
          //la réponse du serveur
          if( recv(sock , (char \*)& a , 2000 , 0) < 0)
          {
              puts("recv echoué");
              break;
          }
           
          
      }
       
      close(sock);
      return 0;
      

      }

      /*
      C socket server TCP
      */

      #include
      #include //strlen
      #include
      #include //inet_addr
      #include //write

      int main(int argc , char *argv[])
      {
      int socket_desc , client_sock , c , read_size,read_size1;
      struct sockaddr_in server , client;
      char client_message[2000];
      int a;
      char t ;

      //Creation d1 socket
      socket\_desc = socket(AF\_INET , SOCK\_STREAM , 0);
      if (socket\_desc == -1)
      {
          printf("on peut pas creer la socket");
      }
      puts("Socket bien creer");
       
      //Preparer sockaddr\_in structure
      server.sin\_family = AF\_INET;//\*\*\*fammille d'@
      server.sin\_addr.s\_addr = INADDR\_ANY;//\*\*\*\*\*\*\*\*@ qqn
      server.sin\_port = htons( 8880);//\*\*\*\*\*en utilisen
      
      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #2

      Your code already sends and receives an integer; what is the problem?

      U 1 Reply Last reply
      0
      • U User 11441214

        how can i send integer ??:confused: ---help---

        /*
        Clent socket tcp
        */
        #include //printf
        #include //strlen
        #include //socket
        #include //inet_addr

        int main(int argc , char *argv[])
        {
        int sock;
        struct sockaddr_in server;
        char message[1000] , server_reply[2000];
        int a;
        char r1;

        //Creation d1 socket
        sock = socket(AF\_INET , SOCK\_STREAM , 0);
        if (sock == -1)
        {
            printf("impossible de creer une socket\\n");
        }
        puts("Socket creer!!!! good job");
         
        server.sin\_addr.s\_addr = inet\_addr("127.0.0.1");//adresse ipv4
        server.sin\_family = AF\_INET;// famille d'@
        server.sin\_port = htons( 8880 );//\*\*en utilisent big endien NBO   pour la sérialiser , htons (host to network short) 
        
        //Connection au serveur
        

        puts ("connection au serveur\n") ;
        if (connect(sock , (struct sockaddr *)&server/*pointeur sur l'@ du serveur est qui est passé en parametre**/ , sizeof(server)) < 0)
        {
        perror("peut pas connecter au serveur");
        return 1;
        }

        puts("vous etnSes Connecté\\n");
             //communition server
        while(1)
        {
            printf("Enter votre nbres : ");
            scanf("%d " ,&a );
            
             
            //envoyer data
            if  (( send(sock , (char \* )& a , sizeof(&a) , 0) < 0)  ) 
        
            {
                puts("l'envoie a ete echoué");
                return 1;
            }
             
            //la réponse du serveur
            if( recv(sock , (char \*)& a , 2000 , 0) < 0)
            {
                puts("recv echoué");
                break;
            }
             
            
        }
         
        close(sock);
        return 0;
        

        }

        /*
        C socket server TCP
        */

        #include
        #include //strlen
        #include
        #include //inet_addr
        #include //write

        int main(int argc , char *argv[])
        {
        int socket_desc , client_sock , c , read_size,read_size1;
        struct sockaddr_in server , client;
        char client_message[2000];
        int a;
        char t ;

        //Creation d1 socket
        socket\_desc = socket(AF\_INET , SOCK\_STREAM , 0);
        if (socket\_desc == -1)
        {
            printf("on peut pas creer la socket");
        }
        puts("Socket bien creer");
         
        //Preparer sockaddr\_in structure
        server.sin\_family = AF\_INET;//\*\*\*fammille d'@
        server.sin\_addr.s\_addr = INADDR\_ANY;//\*\*\*\*\*\*\*\*@ qqn
        server.sin\_port = htons( 8880);//\*\*\*\*\*en utilisen
        
        J Offline
        J Offline
        Jochen Arndt
        wrote on last edited by
        #3

        There are some errors in your. The first is the buffer size when sending an integer;

        if (( send(sock , (char * )& a , sizeof(&a) , 0) < 0) )

        The passed buffer size is wrong. It should be:

        if (( send(sock , (char * )& a , sizeof(a) , 0) < 0) )

        When reading replies, you probably want to read them into another buffer (as indicated by the size). So change

        if( recv(sock , (char *)& a , 2000 , 0) < 0)

        to

        if( recv(sock , server_reply , sizeof(server_reply) , 0) < 0)

        Similar for the server where you should first read an integer and then send the reply. So change this

        if ( (read_size = recv(client_sock , (char *)&a , 2000 , 0)) > 0 )

        to

        if ( (read_size = recv(client_sock , (char *)&a , sizeof(a) , 0)) > 0 )

        and send the reply afterwards.

        U 1 Reply Last reply
        0
        • L Lost User

          Your code already sends and receives an integer; what is the problem?

          U Offline
          U Offline
          User 11441214
          wrote on last edited by
          #4

          thank you Richard McCutchan, the problem is that I wanted to display the number at the server level. :doh:

          L 1 Reply Last reply
          0
          • J Jochen Arndt

            There are some errors in your. The first is the buffer size when sending an integer;

            if (( send(sock , (char * )& a , sizeof(&a) , 0) < 0) )

            The passed buffer size is wrong. It should be:

            if (( send(sock , (char * )& a , sizeof(a) , 0) < 0) )

            When reading replies, you probably want to read them into another buffer (as indicated by the size). So change

            if( recv(sock , (char *)& a , 2000 , 0) < 0)

            to

            if( recv(sock , server_reply , sizeof(server_reply) , 0) < 0)

            Similar for the server where you should first read an integer and then send the reply. So change this

            if ( (read_size = recv(client_sock , (char *)&a , 2000 , 0)) > 0 )

            to

            if ( (read_size = recv(client_sock , (char *)&a , sizeof(a) , 0)) > 0 )

            and send the reply afterwards.

            U Offline
            U Offline
            User 11441214
            wrote on last edited by
            #5

            merci beaucoup Jochen Arndt :thumbsup:

            1 Reply Last reply
            0
            • U User 11441214

              thank you Richard McCutchan, the problem is that I wanted to display the number at the server level. :doh:

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #6

              So what is the problem?

              1 Reply Last reply
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • World
              • Users
              • Groups