Envoyee un nombre via une socket

younes3120 -  
poparnassus Messages postés 426 Date d'inscription   Statut Membre Dernière intervention   -
salut,je veux envoyer un nbr (entier) en utilisent 1 Socket ,est mon but c'est d'arriver a envoyer 2 nombres pour faire une addition au niveau de serveur et puis l'envoyer(resultat) au clients
vioci le code pour 1 entier envoyer ,mais je trouve 1 pb avec le serveur.....
si qq peut m'aider a resourder ce pb
Merci

/*
    Clent socket tcp
*/
#include<stdio.h> //printf
#include<string.h>    //strlen
#include<sys/socket.h>    //socket
#include<arpa/inet.h> //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<stdio.h>
#include<string.h>    //strlen
#include<sys/socket.h>
#include<arpa/inet.h> //inet_addr
#include<unistd.h>    //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 utilisent big endien NBO   pour la sérialiser , htons (host to network short) 
     
    //Bind
    if( bind(socket_desc,(struct sockaddr *)&server , sizeof(server)) < 0)
    {
        
        perror("bind. Error");
        return 1;
    }
    puts("bind attaché");
     
    //Listen
    listen(socket_desc ,3);
     
    //Accept connection
    puts("attedez une connection...");
    c = sizeof(struct sockaddr_in);
     
    //accept conection de client qui vient de se connecter!
    client_sock = accept(socket_desc, (struct sockaddr *)&client, (socklen_t*)&c);
    if (client_sock < 0)
    {
        perror("accept failed");
        return 1;
    }
    puts("Connection accepté");
     
    //Receoit les message de client
    if ( (read_size = recv(client_sock , (char *)&a , 2000 , 0)) > 0 ) 
    {
        
        write(client_sock , &a , sizeof(&a)); 
                
    }
     
    if(read_size == 0)
    {
        puts("Client disconnected");
        fflush(stdout);
    }
    else if(read_size == -1)
    {
        perror("recv failed");
    }
     
    return 0;
}


A voir également:

2 réponses

chris79 Messages postés 97 Date d'inscription   Statut Membre Dernière intervention   25
 
Salut,

Peux-tu nous en dire un peu plus ?
Quel genre de problème au niveau du serveur as-tu rencontré ?

++
0
poparnassus Messages postés 426 Date d'inscription   Statut Membre Dernière intervention   30
 
Salut, je bosse aussi sur less socket en ce moment, je pourrais pas trop t'aider dans le code mais par contre je peux te filer ce liens trés interessant !
http://sdz.tdct.org/sdz/les-sockets.html


Autre sujet:
J'ai ouvert un topic, si defois quelqun a le temp de me lire et de mi'aider ^^
Merci https://forums.commentcamarche.net/forum/affich-34339818-definir-qui-est-le-serveur-qui-est-le-client
0