Client/serveur: client nombre aleatoire [gcc]

Soyez le premier à donner votre avis sur cette source.

Vue 5 439 fois - Téléchargée 260 fois

Description

C'est donc le client qui permet de se connecter au serveur de nombre aleatoire
de la facon suivante
./client_alea.exe nommachineserveur numport

Source / Exemple :


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "creer_socket.c"
#define MAX 10
#define IDENTIQUE 0

void client_service(int sock_client);

void client_service(int sock_client)
{
	char status[1024]="";
	char rep[MAX];
	char nb[MAX];
	//TEST LOCAL
	//strcpy(status,"ok1");
	lire_socket(sock_client,status);
	printf("\n le serveur dit :%s",status);
	if(strncmp(status,"ok1",3)==IDENTIQUE)
	{
		printf("Connect to server	[OK]\n");
		printf("Bienvenue\nVeux tu jouer avec moi?\n");
		printf("----> oui ou non?\n");
		scanf("%s",&rep);
		/*while((rep != "oui") && (rep != "non"))
		{
			printf("Resaisi, tu t'es trompé(e)\n");
			printf("oui ou non\n");
			scanf("%s",&rep);
		}*/
		if ((strcmp(rep,"oui")==IDENTIQUE) || (strcmp(rep,"non")==IDENTIQUE))
		{
			ecrire_socket(sock_client,rep);
			lire_socket(sock_client,status);
			printf("\n le serveur dit :%s",status);
			if (strncmp(status,"ok2",3)==IDENTIQUE)
			{
				printf("\nDonne un nombre entre 0 et 100\n");
				scanf("%s",&nb);
				ecrire_socket(sock_client,nb);
				lire_socket(sock_client,status);
				printf("\n le serveur dit :%s",status);
				if (strncmp(status,"ok3",3)==IDENTIQUE)
				{
					printf("\nBravo!! tu as gagne !!\n");
				}
					else printf("\nTu as perdu !!!\n");
			}
			else if (strncmp(status,"ok5",3)==IDENTIQUE)
					printf("Dommage!!!\n");
					else printf("erreur saisie\n");
		}
		else printf("Mauvaise Reponse\n");
		printf("@bientot\n");

	}

}

int main(int argc, char* argv[])
{

        int port;
 				int socket_client;
        if(argc !=3)
        {
                fprintf(stderr,"Erreur nombre de params\n");
                exit(2);
        }

	printf("MAIN\n");

/* creation de la socket client avec en premier argument le nom de l'hote
et en deuxieme argument, le numero du port du serveur */
	port=atoi(argv[2]);
	socket_client=creer_socket_client(argv[1],port);
 	client_service(socket_client);
	  close(socket_client);
	return (0);

}

Conclusion :


dans le zip
y a les fichiers creer_socket.c et creer_socket.h

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_pheno
Messages postés
141
Date d'inscription
mardi 30 avril 2002
Statut
Membre
Dernière intervention
23 mars 2005
1 -
Pour le mot de passe , il faut que tu l envoies au serveur, de la maniere que tu veux

Si tu utilises IE, ton client c est IE, dans ton cas ton client sera un formulaire html
tu l envoies avec un bouton submit qui contiendra l adresse de ton serveur suivit du nom du programme
exple: www.monserveur.com/server_alea.exe
si le fichier server_alea.exe est situe a la racine du site


ensuite tu recuperes les variables envoyes par ton client (le formulaire) grace au petit bout de code ci dessus.

Test ca et dit moi ou t as un pb apres
cs_tiloups
Messages postés
8
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
12 mars 2003
-
le prob c'est que je ne peux me connecter au serveur sans mots de passe donc il me dit connection refusé.

Ensuite oui c'Est avec ie que je veux me connecter. Le bout de code que tu donne c'est pour le serveur ou pour le client ou les deux. Dans la web je l'appel comment le serveur
cs_tiloups
Messages postés
8
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
12 mars 2003
-
le prob c'est que je ne peux me connecter au serveur sans mots de passe donc il me dit connection refusé.

Ensuite oui c'Est avec ie que je veux me connecter. Le bout de code que tu donne c'est pour le serveur ou pour le client ou les deux. Dans la web je l'appel comment le serveur
cs_pheno
Messages postés
141
Date d'inscription
mardi 30 avril 2002
Statut
Membre
Dernière intervention
23 mars 2005
1 -
Ah ok si c est pour ie
il faut que tu fasses un formulaire en html
a l aide d un bouton submit
tu l envoies sur l exe server_alea.exe
et la tu recuperes le nombre saisie par l utilisateur a l aide
des variables d environnements

je te file un bout de code que j ai retrouve pour te montrer comment ca marche

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[], char *envp[])
{
char *query_string= NULL;
printf("Content-type: text/html

");
query_string =getenv("QUERY_STRING");
if (query_string == NULL)
{
printf("QUERY STRING N A PAS ETE TROUVE");
}
else
{
printf(" AFFICHAGE de la variable query_string ");
printf(" QUERY_STRING = %s ", query_string);
}
return 0;
}

PS : Possible que t es des erreurs de compiles je n'ai pas teste ce bout de code
cs_pheno
Messages postés
141
Date d'inscription
mardi 30 avril 2002
Statut
Membre
Dernière intervention
23 mars 2005
1 -
./client_alea.exe nomdetamachine 1120

c est a dire le nom de ta machine qui heberge ton serveur
exemple si le server_alea.exe est sur le pc GrosTux
tu tapes ./client_alea.exe grostux 1120

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.