j'ai effectué un serveur client qui permet de transferer des image jpg,
dans mon cas je doit saisir le nom de l'image ( par exemple :
image_voiture ) pour que le client la recoive, mais j'aimerai recevoir
cette image automatiquement, c'est a dir que qquand le client ce
connecte au serveur, je voudrai recevoir cette image,donc si quelqu'un
pourrait m'aider ca serait sympa de votre part, voici mon code :
/*SERVEUR TRANSFERT IMAGE */
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <signal.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <signal.h>
#include
int connexion;
/* Fonction activée par la touche Ctrl c , signal SIGINT*/
void fin()
{close(connexion);
printf("fin du processus serveur!\n");
exit(0);
}
int main()
{
int taille,lecture,N;
struct sockaddr_in sock;
struct sockaddr_in sockclient ;
char tampon[100], NomFich[100];
int connexion_service;
FILE *fich ;
signal(SIGINT,fin) ;
/* descripteur de socket */
if ( (connexion = socket(AF_INET,SOCK_STREAM,0) )== -1)
{ perror("erreur socket");
exit(1);
}
sock.sin_family = AF_INET;
sock.sin_addr.s_addr = INADDR_ANY;
sock.sin_port = htons(5000);
if ( bind(connexion,(struct sockaddr *)&sock, sizeof sock ) == -1)
{ perror("erreur bind");
exit(1);
}
/* accepte les demandes de connexion */
listen(connexion,5);
signal(SIGINT,fin);
while(1)
{
taille = sizeof ( sockclient );
puts("attente de connexion");
if ((connexion_service = accept(connexion,(struct sockaddr *)&sockclient,(socklen_t *)&taille) )==-1)
{ perror("erreur accept");
exit(1);
}
puts("Serveur : connexion etablie");
if (fork()==0)
{ /* programme fils */
lecture = read(connexion_service,NomFich,100);
if(lecture == 0) /* retourne 0 si le client exécute close */
je voudrai savoir si c'est possible de se connecter a un serveur sans entrer son ip, par exeple si il a 2 serveur sur le reseau le client se connecte au 2
je sais pas il y a plein de code :) pour balancer sur un reseau
c'est toujours les meme IP tu te connect a
192,168,0,2 pour le premier ,3 pour le 2e et ,pour le 3e etc....
oue meme dans mon cas je ne connai pas ladresse du serveur aukelle je me connecter, je voudrai faire en sort que des ke le client cherche un serveur, le serveur lui envoi son ip et ensuite il peut se conecter, mis je ne sais pas comment faire
je voudrai : Envoyer un paquet UDP en BroadCast
pour demander aux serveurs de se signaler par retour du courrier, puis
se connecter aux serveurs qui auront répondu. Meme je ne sais pas le
code kil fau effectué et a kel nivo
Il suffit de préciser la bonne IP pour le client qui cherche à se
connecter.Tu crées un socket en UDP, tu lui fais balancer sur le réseau
comme quoi il veut se connecter (avec une adresse IP broadcast) et une
fois que t'as la réponse, tu récupères l'ip du(des) serveur(s) qui
t'ont répondu, et tu t'y connectes.