begin process at 2010 02 10 07:26:55
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseaux & Internet

 > PROTOCOLE TCP/IP - CLIENT/SERVEUR - [C++] [GCC]

PROTOCOLE TCP/IP - CLIENT/SERVEUR - [C++] [GCC]


 Information sur la source

Note :
5,6 / 10 - par 10 personnes
5,60 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseaux & Internet Niveau :Initié Date de création :30/07/2002 Date de mise à jour :28/08/2002 08:59:11 Vu :53 358

Auteur : Niko2012

Ecrire un message privé
Commentaire sur cette source (38)
Ajouter un commentaire et/ou une note

 Description

Une fois le serveur lance, un client peut s'y connecter via TCP, le serveur lui renvoit l'heure courante et le client l'affiche. Le client prend comme argument l'ip du serveur. Si vous avez des remarques, des questions, des suggestions, elles sont bienvenues !
  

Source

  • ///////////////////////// Client tcp - by Nik^o^ - ////////////////////////////
  • #include <sys/types.h>
  • #include <sys/socket.h>
  • #include <netinet/in.h>
  • #include <sys/un.h>
  • #include <stdio.h>
  • #define MAXLINE 4096
  • #define MASOCKET 13
  • //socket habituellement utilise pour un daytime serveur
  • //si l'acces est refuse, essayer avec un socket > 1023 (ex: 1111)
  • int
  • main(int argc, char **argv)
  • {
  • int sockfd, n;
  • char recvline[MAXLINE + 1];
  • struct sockaddr_in servaddr;
  • if (argc != 2){
  • perror("usage: a.out <IPaddress>");
  • exit(1);
  • //si le nombre de parametres n'est pas correct...
  • }
  • if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0){
  • //la fonction socket cree un socket de flux (SOCK_STREAM)internet(AF_INET)
  • //(incomprehensible en francais)(plus simplement : Internet stream socket).
  • //Renvoit un int pour identifier le socket plus tard (cf. read & connect)
  • perror("socket error");
  • exit(1);
  • //si ca foire...
  • }
  • bzero(&servaddr, sizeof(servaddr));
  • //on met toute la structure a 0
  • //on remplit la structure avec l'ip du serveur et le num de son port
  • servaddr.sin_family = AF_INET;
  • servaddr.sin_port = htons(MASOCKET);
  • //htons: pour convertir le numero de port
  • if (inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0){
  • //inet_pton: convertit l'argument ASCII (Ex: 127.0.0.1) dans le bon format
  • perror("inet_pton error");
  • exit(1);
  • //de meme, si ca foire...
  • }
  • if (connect(sockfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) < 0){
  • //connect etablit la connection TCP avec le serveur specifie par la structure de
  • //l'adresse du socket pointe par le second argument
  • perror("connect error");
  • exit(1);
  • //idem
  • }
  • while ( (n = read(sockfd, recvline, MAXLINE)) > 0) {
  • //lit la reponse du serveur et ecrit le resultat
  • recvline[n] = 0;
  • //null terminate
  • if (fputs(recvline, stdout) == EOF){
  • perror("fputs error");
  • exit(1);
  • }
  • }
  • if (n < 0){
  • //s'il y a eu un probleme pendant la lecture...
  • perror("read error");
  • exit(1);
  • }
  • exit(0);
  • }
  • ///////////////////////// Serveur tcp - by Nik^o^ - ////////////////////////////
  • #include <sys/types.h>
  • #include <sys/socket.h>
  • #include <netinet/in.h>
  • #include <sys/un.h>
  • #include <stdio.h>
  • #define MAXLINE 4096
  • #define MASOCKET 13
  • int
  • main(int argc, char **argv)
  • {
  • int listenfd, connfd;
  • struct sockaddr_in servaddr;
  • char buff[MAXLINE];
  • time_t tics;
  • if ( (listenfd = socket(AF_INET, SOCK_STREAM, 0)) < 0 ){
  • //meme chose que pour le client
  • perror("socket error");
  • exit(1);
  • //et si ca foire !
  • }
  • bzero(&servaddr, sizeof(servaddr));
  • //meme chose que pour le client
  • servaddr.sin_family = AF_INET;
  • servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
  • //INADDR_ANY signifie que le serveur va accepter une connection
  • //client sur n'importe-quelle interface
  • servaddr.sin_port = htons(MASOCKET);
  • //on lie le port du serveur au socket en remplissant la "internet socket
  • //adresse structure" et en appellant bind
  • if (bind(listenfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) < 0){
  • perror("bind error");
  • exit(1);
  • //au cas ou...
  • }
  • if (listen(listenfd, 5) < 0){
  • //avec listen, le socket est converti en listening socket (ecoute)
  • //sur lequel les demandes de connections vont etre acceptees par le Kernel
  • perror("listen error");
  • exit(1);
  • //ca peut merder aussi ici
  • }
  • while (1){ //boucle infinie, faut-il le preciser ? :oD
  • if ( (connfd = accept(listenfd, (struct sockaddr *) NULL, NULL)) < 0){
  • //accept retourne un "descripteur de connection" (connected descriptor) qui est
  • //utilise pour la communication avec le nouveau client. Un nouveau pour chaque client
  • perror("accept error");
  • exit(1); //et aussi ici
  • }
  • tics = time(NULL);
  • snprintf(buff, sizeof(buff), "%.24s\r\n", ctime(&tics));
  • //on recupere la date et l'heure
  • if (write(connfd, buff, strlen(buff)) < 0){
  • //et on envoit le tout au client !
  • perror("write error");
  • exit(1); //de meme ;)
  • }
  • close(connfd);
  • }
  • }
///////////////////////// Client tcp - by Nik^o^ - ////////////////////////////

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/un.h>
#include <stdio.h>

#define MAXLINE         4096
#define MASOCKET        13
//socket habituellement utilise pour un daytime serveur
//si l'acces est refuse, essayer avec un socket > 1023 (ex: 1111)


int							
main(int argc, char **argv)
{
	int		sockfd, n;
	char		recvline[MAXLINE + 1];
	struct 	sockaddr_in	servaddr;

	if (argc != 2){
		perror("usage: a.out <IPaddress>");
		exit(1);				
//si le nombre de parametres n'est pas correct...

	}

	if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0){	
//la fonction socket cree un socket de flux (SOCK_STREAM)internet(AF_INET) 
//(incomprehensible en francais)(plus simplement : Internet stream socket).
//Renvoit un int pour identifier le socket plus tard (cf. read & connect)

		perror("socket error");		
		exit(1);
//si ca foire...
	}

	bzero(&servaddr, sizeof(servaddr));	
//on met toute la structure a 0
//on remplit la structure avec l'ip du serveur et le num de son port

	servaddr.sin_family = AF_INET;
	servaddr.sin_port   = htons(MASOCKET);
//htons: pour convertir le numero de port

	if (inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0){
//inet_pton: convertit l'argument ASCII (Ex: 127.0.0.1) dans le bon format

		perror("inet_pton error");
		exit(1);
//de meme, si ca foire...
	}

	if (connect(sockfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) < 0){
//connect etablit la connection TCP avec le serveur specifie par la structure de
//l'adresse du socket pointe par le second argument

		perror("connect error");						
		exit(1);
//idem
	}

	while ( (n = read(sockfd, recvline, MAXLINE)) > 0) {
//lit la reponse du serveur et ecrit le resultat

		recvline[n] = 0;	
//null terminate

		if (fputs(recvline, stdout) == EOF){
			perror("fputs error");
			exit(1);
		}
	}

	if (n < 0){			
//s'il y a eu un probleme pendant la lecture...
		perror("read error");
		exit(1);
	}

	exit(0);
}


///////////////////////// Serveur tcp - by Nik^o^ - ////////////////////////////

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/un.h>
#include <stdio.h>

#define MAXLINE		4096
#define MASOCKET		13

int
main(int argc, char **argv)
{
	int				listenfd, connfd;
	struct sockaddr_in	servaddr;
	char				buff[MAXLINE];
	time_t			tics;

	if (	(listenfd = socket(AF_INET, SOCK_STREAM, 0)) < 0 ){
//meme chose que pour le client

		perror("socket error");						
		exit(1);
//et si ca foire !

	}

	bzero(&servaddr, sizeof(servaddr));
//meme chose que pour le client

	servaddr.sin_family      = AF_INET;
	servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
//INADDR_ANY signifie que le serveur va accepter une connection 
//client sur n'importe-quelle interface

	servaddr.sin_port        = htons(MASOCKET);

//on lie le port du serveur au socket en remplissant la "internet socket 
//adresse structure" et en appellant bind
	if (bind(listenfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) < 0){	
		perror("bind error");						
		exit(1);
//au cas ou...
	}

	if (listen(listenfd, 5) < 0){
//avec listen, le socket est converti en listening socket (ecoute)
//sur lequel les demandes de connections vont etre acceptees par le Kernel

		perror("listen error");
		exit(1);
//ca peut merder aussi ici
	}

	while (1){		//boucle infinie, faut-il le preciser ? :oD
		if (	(connfd = accept(listenfd, (struct sockaddr *) NULL, NULL)) < 0){	
//accept retourne un "descripteur de connection" (connected descriptor) qui est
//utilise pour la communication avec le nouveau client. Un nouveau pour chaque client

			perror("accept error");		
			exit(1);	//et aussi ici
		}
		
	      tics = time(NULL);	
        	snprintf(buff, sizeof(buff), "%.24s\r\n", ctime(&tics));
//on recupere la date et l'heure
        	
		if (write(connfd, buff, strlen(buff)) < 0){	
//et on envoit le tout au client !

			perror("write error");
			exit(1);	//de meme ;)
		}

		close(connfd);
	}
}
   

 Conclusion

bon, ce code sera mis a jour en fonction de vos remarques. :o)


nouvelle version a venir : serveur en C et applet Java en client


 Sources de la même categorie

Source avec Zip TIM_RESEAU, CLASSES POUR RESEAU COMPLET par williamallas
Source avec Zip INTERNET IP FINDER TROUVER VOS ADRESSE IP (INTERNET) par xmustapha
Source avec Zip CLIENT/SERVEUR AVEC TSOCKETSERVER & TCLIENTSOCKET par xmustapha
Source avec Zip REMOTE SHELL GEN par ganjarasta
PROXY IRC SIMPLE (WINDOWS/WINSOCK) par _michel

Commentaires et avis

Commentaire de JMGR le 02/08/2002 14:40:10

Whah il est vraiment bien ton code !
Bon courage pour la suite ;)
J.M.G.R

Commentaire de pepet le 07/09/2002 22:09:54

c dans kel .h perror(...)?

Commentaire de Niko2012 le 09/09/2002 11:32:57

salut pepet,
perror est tout simplement dans stdio.h ...
voila, bon code ^_^

Commentaire de yacinek le 13/01/2003 12:50:30

je voulais savoir si je pouvais utiliser se serveur sous visual c++ ?
il y aurais aucun problème?

Commentaire de Niko2012 le 13/01/2003 18:20:14

Bien sûr! Ya aucun problème :)
et si tu as des questions, tu n'hésites pas... tu veux faire quoi comme genre de serveur?

Commentaire de norton le 26/01/2003 16:11:09

serai t il possible de crée un serveur qui communiquerai pas le port 80
pour qu il ne soit pas refusé par les firewall ?

merci

Commentaire de norton le 26/01/2003 16:11:20

serai t il possible de crée un serveur qui communiquerai pas le port 80
pour qu il ne soit pas refusé par les firewall ?

merci

Commentaire de Niko2012 le 26/01/2003 21:48:07

Evidement c'est possible! tu remplaces 13 par 80 dans le serveur!! ;)
Ou alors tu ouvres le port que tu as déclaré sur ton firewall... c'est toi qui voit, en fonction de tes acces

Commentaire de saibou le 23/02/2003 12:16:57

salut tout le monde! j'ai beau chercher sur la toile un code source sur la programmation client/serveur + sockets en C++ avec  gestion d'erreurs, trames ...  j'en trouve pas!
Soyez généreux, quels sont les tuaux??
Merci d"avance

Commentaire de gooopil le 17/06/2003 13:42:15

Bien, très bien même. Je cherchais un code simple pour pouvoir dévelloper un truc simple, c'est exactement ce qu'il me fallait :D

Commentaire de Narcissus le 09/07/2003 20:15:57

salut, je suis un debutant en Socket et j'ai besoin des fichier d'en tete utilisés , merci
10/10

Commentaire de Narcissus le 11/07/2003 19:52:17

je n'ai encore rien reçu , merci

Commentaire de Niko2012 le 25/08/2003 21:19:44

yop! j'etais en vacances... ^_^
les fichiers d'entete sont ceux par defaut sous Linux... il existe des equivalents sous Windows..

Commentaire de xenan le 19/10/2003 11:37:30

salut a tous!
g un ptit probleme sous VC++ 6.
il reconé pas &lt;sys/types.h&gt; é  &lt;sys/socket.h&gt;
j'imagine ki ya leurs ekivalent ?

Commentaire de octet70 le 12/11/2003 13:31:28

oui moi c'est pareil avec visual !!! j'aimerais bien avoir les equivallances si qqun les connais .... je suis novice ;)
merci ++

Commentaire de Entropede le 23/12/2003 05:11:44

Bravo ! Il y si longtemps que je cherche un code simple pour développer toutes sortes de choses.  Et moi aussi je suis très intéressé de connaître les codes sources qui permette de créer ces socket sous windows.  Je n'ai pas essayé encore, mais je le ferai sous DevCpp ce soir même :P.

Encore bravo Niko ! C'est surper fin de ta part !

Commentaire de derbiman10 le 24/12/2003 03:47:24

je croit que pour les socket sous windows c'est c genre de truque a déclarer en plus mais il y a de bonne source ici sur les socket windows

#include &lt;winsock.h&gt; ou #include &lt;winsock2.h&gt;
#pragma comment(lib,"ws2_32.lib")

SOCKET socket;
SOCKADDR_IN sin;
WSADATA wsadata;

moi meme je debut en c++ mais je code sous linux avec les socket donc si je me trompe réctifier l'erreur

Commentaire de GhostLord le 07/01/2004 11:36:50

Pas mal le code!
Je recherche des exemples de programmes, sur les clients / serveurs pour un salon de discussion.
De préférence en O'Caml ou Java.
Merci.

Commentaire de niko2013 le 24/01/2004 18:00:20

Heu pareil que Narcissus, je voudrais bien pouvoir le compiler mais il ne reconnait pas les fichiers d'en tete... Je développe sous Dev CPP.

Merci d'avance !

Commentaire de YaNn0u le 25/04/2004 01:06:25

Salut,
Tout d'abord bravo pour ta source, elle est vraiment chouette !
Je voulais savoir si le client doit etre forcement coder en c/c++ pour pouvoir communiquer avec ton serveur ( car javais coder des salons en vb ou je suis un initié ce qui nest pas le cas en c++ ! )
De plus, peut-on lancer ce serveur sur un shell linux, si oui comment ?

Merci d'avance !

Commentaire de Niko2012 le 26/04/2004 02:05:39

ni le client ni le serveur ne doivent etre obligatoirement codés en C++
la communication se fait par le protocole TCP/IP, libre à toi ensuite de faire par exemple un équivalent du client en java. il faudra par contre faire attention au fait que tu ne pourras plus envoyer d'objets ou de classes sérialisées et les récupérer "directement" de l'autre coté: tu devras toi-meme gérer le 'decodage' des paquets recus..

pour lancer le serveur sur linux, il suffit de compiler la source et de l'exécuter... les librairies inclues sont celles de Linux justement..

Commentaire de Niko2012 le 23/05/2004 13:16:20

Désolé, mais il n'a rien à faire ici..

Commentaire de miky28 le 12/06/2004 15:20:42

salut a tous

J'aimerai savoir si c possible de faire la parti client en C++
si possible esseyer de me filler les commende que je devrait utiliser pour arriver a met fin

merci a tous
@++

ps: je suis un newbie de la mort qui tu donc allez y molo

Commentaire de albator2004 le 22/06/2004 09:30:43

Bonjour!!

Voilà je recherche de la doc sur la manière de configurer une archi 3-tier avec quel langage de dev utiliser. (plus exmples ci-possibles...)

Merci à tous!

P.S C'est mon 1er post sur ce site.

Commentaire de byfrost le 22/06/2004 19:39:12

salut
je voulais savoir si ton serveur pouvait accepter plusieurs clients a la fois ou si il naccepte qune seule connexion
Si non ke faudrait il modifier
c en fait pour ce servir de ton code pour faire un logiciel de Tchat
Merci d'avance

Commentaire de CptLuthor le 13/11/2004 22:59:21

Salut

Quand on est conecté avec un pot client et moi server, peut t on se voir en réseau, c a d se voir dns les jeux par exemple ?

merci

Commentaire de worms4 le 05/12/2004 18:39:58

j'ai limpression qu'il n'y a qu'avec moi que sa ne marche pas. Impossible de le compiler. J'utilise Dev C++ ca ne marche aps. Je l'ai test sous visual et par contre la c'est bon. Ne voulant pas coder sous visual j'ai pensser que ca venais des .h j'ai essayer de les changé avec ceux de visual et la toujour pas........ Aider moiiiiiiiiiiiiiiiiiiiiiiiiii svp

Commentaire de ilemporio le 28/01/2005 15:43:06

est ce que ce source fonctionne avec Borland C++ Builder 6?

Commentaire de djwarrior28 le 01/02/2005 15:26:29

le code est pas mal, cependant
INADDR_ANY  ne signifie pas forecement que le srv va accepter une connection mais que tu n'as pas besoin de specifier une @ ip car cette fonction recupere automatiquement celle de ta machine srv

Commentaire de aketus le 14/06/2006 10:46:14

Pas mal ce code pour débuter avec les socket!

Par contre lors de la compilation il met :
serveur.c: In function ‘main’:
serveur.c:31: warning: incompatible implicit declaration of built-in function ‘exit’

Et en mettant #include <stdlib.h> ca va beaucoup mieux!!!

Par contre la question concernant la multi-connexion m'intéresse donc si quelqu'un à la réponse?
D'aprés le code il est mono connexion et lorsqu'il a donné l'heure il se remet en attente (boucle infinie)
Je suppose qu'il faudrait donc créer des threads.

Merci.

Commentaire de Niko2012 le 14/06/2006 11:46:07

Bonjour Aketus et merci pour le commentaire :)

Bien sûr, tu suppose bien, il suffit de threader la gestion des clients après leur connexion, pour faire du multi-client.
Il s'agit d'un exemple très simple pour illustrer la gestion des sockets en C++

Niko.

Commentaire de aketus le 15/06/2006 16:14:27

Tiens j'ai fait une version multithreads, simple :



#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/un.h>
#include <stdio.h>
#include <stdlib.h>

#include "pthread.h"


#define MAXLINE 4096
#define MASOCKET 2000
#define MAXTHREAD 10

int listenfd, connfd;
struct sockaddr_in servaddr;
char buff[MAXLINE];
time_t tics;

void *connexion (void *param);
void socket_connect (void);


int main(int argc, char **argv)
{
int numthread=0;
pthread_t thread[MAXTHREAD];

socket_connect();

while (1)
{        //boucle infinie, faut-il le preciser ? :oD
if (numthread < MAXTHREAD)
{
pthread_create(&thread[numthread], NULL, connexion, NULL);
printf("Thread Numéro %d\n",numthread+1);
}
else
{
printf("Nombre de thread maximum atteint\n");
while(1);
//exit(0);
}
numthread++;
}
exit(EXIT_SUCCESS);
}


/********************************************************************************/
/*   Fonction de création de sockets */
/********************************************************************************/


void socket_connect (void)
{
if ((listenfd = socket(AF_INET, SOCK_STREAM, 0)) < 0 )
{
//meme chose que pour le client
perror("socket error");
exit(1);
//et si ca foire !
}

bzero(&servaddr, sizeof(servaddr));
//meme chose que pour le client
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
//INADDR_ANY signifie que le serveur va accepter une connection
//client sur n'importe-quelle interface

servaddr.sin_port = htons(MASOCKET);

//on lie le port du serveur au socket en remplissant la "internet socket
//adresse structure" et en appellant bind
if (bind(listenfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) < 0)
{
perror("bind error");
exit(1);
//au cas ou
}

if (listen(listenfd, 5) < 0)
{
//avec listen, le socket est converti en listening socket (ecoute)
//sur lequel les demandes de connections vont etre acceptees par le Kernel
perror("listen error");
exit(1);
//ca peut merder aussi ici
}
//return 0;
}



/********************************************************************************/
/*   Thread de connexion au client */
/********************************************************************************/


void *connexion (void *param)
{
if ((connfd = accept(listenfd, (struct sockaddr *) NULL, NULL)) < 0)
{
//accept retourne un "descripteur de connection" (connected descriptor) qui est
//utilise pour la communication avec le nouveau client. Un nouveau pour chaque client
perror("accept error");
exit(1);    //et aussi ici
}

tics = time(NULL);
snprintf(buff, sizeof(buff), "%.24s\r\n", ctime(&tics));
//on recupere la date et l'heure

if (write(connfd, buff, strlen(buff)) < 0)
{
//et on envoit le tout au client !
perror("write error");
exit(1);    //de meme ;)
}
//while(1){};
close(connfd);
pthread_exit (0);
}

Par contre ca prend 100% du proc donc avec des sleep dans chaque thread ca peut le faire mais c'est pas très beau.
Si quelqu'un  à une meilleure idée?

Par contre lors de l'édition des liens il faut faire :
gcc -lpthread -o serveur-test serveur-test.o
Sinon ça passe pas.

Niko2012 si tu veut je t'envoi les sources et le make file qui va bien?

Aketus

Commentaire de kerneltony95 le 10/10/2006 03:40:50

oui bonne idée niko plus tard je ferai un server avec identification ^^

Commentaire de djgamix le 28/01/2008 22:03:47

Voila beau code sourcee!


par contre si quelqun pourais maider je copi et je colle le code source

dans dev c++    et ca me marque plusieurs erreur lors de la compilation me manke t-il des librairies aide SVP


sys/socket.h: No such file or directory
netinet/in.h: No such file or directory
sys/un.h: No such file or directory
In function `main':
storage size of 'servaddr' isn't known
AF_INET' undeclared (first use in this function)
(Each undeclared identifier is reported only once for each function it appears in.)
`SOCK_STREAM' undeclared (first use in this function)
`INADDR_ANY' undeclared (first use in this function)
Makefile.win [Build Error]  [main.o] Error 1


!!voila toutes les erreurs!!

si quelqun pourait prendre un peut de son temp pour m'expliquer d'ou viennent ces erreurs ca me
serais d'une grande aide

merci de répondre  
  




Commentaire de aketus le 29/01/2008 10:12:30

Je suppose que comme tu utilise dev c++ tu es sous windows?

Sous linux tu as un répertoire /usr/include/... qui contient les headers et /usr/lib/.. qui contient les libs.
Il doit donc y avoir un équivalent sous windows, fait donc unn recherche sur le fichier socket.h et si tu le trouves vérifie que le path est ajouté à dev c++ et sinon fait en sorte d'ajouter les libs et les headers. Mais je pense que ce sont des include de base donc je soupçonne une mauvaise configuration de ton IDE.

A+

Aketus  

Commentaire de djgamix le 29/01/2008 23:31:12

re

mais sous Windows sa ne serais pas Winsock.h   plutôt ?

comment puis-je trouver ces header et lib ?

Commentaire de chabalou le 22/02/2008 07:37:41

Aketus, je reprend ton code pour un projet et je te remercie de l'avoir mis à disposition. Le truc est --forcément comme tu l'as souligné-- le problème de l'utilisation du cpu. Je ne m'y connais pas assez pour remedier à ce problème alors si quelqu'un trouve une solution ... ^_^

Commentaire de ayoub718 le 12/12/2009 01:40:10

merci bcp mé ilya des problemes avec dev++, les erreurs indique que qlq fonction ne fonctione pas?

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales