bonsoir a tous !
je débute en programmation de socket et quand je dis je débute c'est une histoire de quelques heures
j'ai suivie pendant ces heures de nombreux tuto et j'ai essayer de generé un code rassemblant tout ce que j'ai vu.
mon code est simple je cherche juste a créer un serveur et un client.
le serveur envoie un message au client et le client l'affiche.
sauf que biensur il ne l'affiche pas. je suis sur que mon erreur doit etre facilement identifiable mais moi je ne l'a trouve pas

merci pour vos reponses voici mon code :


le client:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h> 
 
int main(int argc,char**argv){
 
	int sock;											// le socket
	struct sockaddr_in sin;								// la structure qui contient les informations technique du socket
	char * ip_destination = "127.0.0.1";				// l'adresse de l'hote
	char * buffer[256];									// buffer de stockage de l'information recue
	int port = 23;									// le port que l'on veut observer
 
 
	sock = socket(AF_INET, SOCK_STREAM, 0); 			// socket(famille du socket , type de socket , protocol) 
	sin.sin_addr.s_addr	= inet_addr(ip_destination);	// definition de l'adresse du serveur
	sin.sin_family		= AF_INET;						// la famille du socket
	sin.sin_port		= htons(port);					// definition port que l'on veut observer
	connect(sock, (struct sockaddr *)&sin, sizeof(sin));// connection du socket sur le port
	recv(sock, buffer, sizeof(buffer), 0);				// reception d'une eventuelle information envoyée par le serveur
	close(sock);										// fermeture de la socket
	printf("Information recue : %s",buffer);
 
 
	return 0;
 
 
 
}
et puis le serveur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h> 
 
int main(int argc,char**argv){
 
	int sock;												// socket du serveur
	int csock;												// socket du client
	struct sockaddr_in sin;									// informations du socket serveur
	struct sockaddr_in csin;								// informations du socket client
	unsigned int sinsize = sizeof(csin);								// on stock la taille du socket client
 
	sock = socket(AF_INET, SOCK_STREAM, 0);					// socket(famille du socket , type de socket , protocol) 
	sin.sin_addr.s_addr			= INADDR_ANY;				// le socket ecoutera n'importe quelle connection
	sin.sin_family				= AF_INET;					// la famille du socket
	sin.sin_port				= htons(23);				// le port utilisé
	bind(sock, (struct sockaddr *)&sin, sizeof(sin));		// connection du socket sur le port
	listen(sock, 0);										// le socket ecoute maintenant les connections
 
	while(1){
		csock = accept(sock, (struct sockaddr*)&csin, &sinsize); 	// on accept une connection au serveur
		send(csock, "Message envoyé !\r\n", 18, 0);					// on envoie un message au client
 
	}
	return 0;
}
je compile le tout je crée deux executables client.exe et serveur.exe je lance le serveur et ensuite le client mais rien ne s'affiche dans mon shell

merci !