begin process at 2012 02 11 14:05:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

Mettre un argument dans un thread...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Mettre un argument dans un thread...

vendredi 16 juillet 2004 à 13:45:23 | Mettre un argument dans un thread...

ChrOnOs83

Bonjour à tous,
J'ai de nouveau un petit probleme sur le quel je bloque...
En faite je suis entrain de faire un chat multi-clients. Je passe par des sockets synchrones histoire qu'il n'y ai pas de pertes mais sa me pose un petit peut probleme vu que le synchrone ne gere pas le multiclient.
Bref j'ai fais un thread qui recois les messages en fonction d'un nouveau socket créé dans un tableau de socket mais le probleme est qu'un tableau est limité. Et meme si il ne l'etait pas il commencerai a prendre beaucoup de place au bout de quelque heure...
bref voici mon code sa sera probablement plus explicatif :

int compteur_serveur = 0 ;
SOCKET sock;
SOCKET csock[50];

DWORD WINAPI ServeurProc(LPVOID lpParam)
{

DWORD ThreadReception;
SOCKADDR_IN sin;
SOCKADDR_IN csin;
int sinsize = sizeof(csin);
sin.sin_addr.s_addr = htonl(INADDR_ANY);
sin.sin_family = AF_INET;
sin.sin_port = htons(666);
sock = socket(AF_INET,SOCK_STREAM,0);
bind(sock, (SOCKADDR *)&sin, sizeof(sin));
listen(sock,0);
while(1)
{
compteur_serveur++;
csock[compteur_serveur] = accept(sock, (SOCKADDR *)&csin, &sinsize);
CreateThread(NULL,NULL,ReceptionnerMessage,NULL,NULL,&ThreadReception);
Sleep(1000);
}
return 0;
}

DWORD WINAPI ReceptionnerMessage(LPVOID lpParam)
{
char message_recu[500];
int err = 0;
int i;
i = compteur_serveur;
strcpy(message_recu,"");
while(err>-1)
{
if (strcmp(message_recu,"")!=0)
{
traiter(message_recu);
}
err = recv(csock[i],message_recu,500,0);
}
return 0;
}

Ca serai tellement plus simple si je pouvai passer csock en argument du thread ReceptionMessage :-)...
Merci d'avance pour toutes reponses!!
@+
vendredi 16 juillet 2004 à 13:53:36 | Re : Mettre un argument dans un thread...

BruNews

Administrateur CodeS-SourceS
Tu passes ce que tu veux a CreateThread dans le 4 eme param, valeur directe ou pointeur, pas de probleme.

ciao...
BruNews, Admin CS, MVP Visual C++
vendredi 16 juillet 2004 à 15:39:20 | Re : Mettre un argument dans un thread...

ChrOnOs83

Merci bcp BruNewz !! une fois de plus tu m'a bien aidé :-D
@+ et bonne continuation


Cette discussion est classée dans : message, socket, sin, sock, recu


Répondre à ce message

Sujets en rapport avec ce message

Probleme de socket (envoi) [ par SnOOpss ] Salut !!!Voila g realisé nn programme pour m'envoyer des socket a moi meme ( c pr tester) *********Client******** #include #pragma comment(lib, "ws2_3 probleme de serveur multi-client [ par Mick7 ] je m'explique je suis arrivé a creer un serveur qui peut accepter 2 client mais le probleme est que si j'essaye de creer les 2 sockets sur le meme por Probléme pour lire le buffer au lancement de la connexion [ par logant83 ] Bonsoir, voila enfaite j'ai établi une connexion sur un server irc grace au socket mais quand je recois sur le buffer les différente informations (Ell Probleme de connection sur un site avec des sockets [ par Mick7 ] Salut, voila j'ai un probleme, j'ai un code qui est censé se connecter a google pour que je puisse lui envoyer des requetes. mais mon code marche au n pb de compilation (prog utilisant un socket) [ par smook ] boujour a tous bon je vais commencer part bien vous detailler ce qui a detailler : j utilise dev c++ 4.9.9.2 et mon ^programme a pour but d ecouter un probleme de communication entre deux programme [ par smook ] re salut le dernier message que j ai poster c etait pour les socket et la librairie "libwsock.a" mais sayer j ai passer cette etape j ai reussi a fair Scanner un réseau local : durée du RTT [ par YURIX ] Je suis en train de programmer en C++ un scanner pour mon réseau local.J'ai donc créer un socket de cette manière :WSADATA WSAData;WSAStartup(MAKEWORD [C] socket [ par sheorogath ] bonjour ,j'essai de me faire une sorte de lib client dans un premier temps pour utiliser les socket mais avec mon code je ne peut me connecter null pa [C++][SOCKET]Probleme envoi [ par raton ] Salut à tous.Voila je suis en train de dev une petite dll en C++ utilisant des SOCKET. En réception, pas de problème, mais en envoi... Pas moyen.Lorsq Client serveur [ par fanch314 ] Je que le serveur et le client échange par internet.Le serveur ne voit pas de client connectéEt le buffer du client contient nimporte quoi.En gros ils


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 4,961 sec (3)

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