bonjour,
je veux faire un truk extremement simple pour certain, mais assez très difficile pour moi..
voila je souhaiterai pouvoir afficher dans une console, une chaine de caractere envoyer par le prog serveur.
je m'explik, 2 application tourne sur le meme pc, une serveur et l'autre client.
le serveur envoie une chaine de caractere via un sockete, et le client la récupere et l'affiche.
c'est trop dur pour moi la....
voici mes 2 code:
coté serveur :
#include <stdio.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <netinet/in.h>
#include <sys/types.h>
#include <sys/socket.h>
#define INADDR_ANY "192.168.1.1"
main()
{
int sock,sock2;
struct sockaddr_in adresse;
char buffer[20]="sa marche pas";
adresse.sin_port=1234;
adresse.sin_addr.s_addr="192.168.1.1";
sock=socket(AF_INET,SOCK_DGRAM,0);
bind(sock,(struct in_addr*)&adresse,sizeof(struct sockaddr_in));
listen(sock,5);
sock2=accept(sock,&adresse,sizeof(struct sockaddr_in));
if(write(sock2, buffer, strlen(buffer)) == NULL)
printf ("Erreur d'envoi vers le client : erreur %d.\n\n", 1);
else
printf ("Envoi vers le client ok.\n\n",buffer,sock2);
}
coté client :
#include <stdio.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <netinet/in.h>
#include <sys/types.h>
#include <sys/socket.h>
#define INADDR_ANY "192.168.1.1"
main()
{
int sock,sock2;
struct sockaddr_in adresse;
char buffer[20];
adresse.sin_port=1234;
//strcpy(adresse.sin_addr.s_addr,"192.168.1.1");
sock=socket(AF_INET,SOCK_DGRAM,0);
connect(sock,&adresse,sizeof(struct sockaddr_in));
read(sock,buffer,20);
printf("buffer=%s",buffer);
}
merci de votre aide, et de vos explication.