Bonjour je vien de creer un programme Serveur
mais voila j'ai un probleme avec le descripteur SOCKET du client retourné par accept
ca me donne toujour 0 meme si ya connexion de plusieurs client
avec le descripteur su seveur pas de probleme
(jai compris que j'avais un probleme parce que je ne peut pas intercepter les message recus)
voila mon code:
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib)
//...
SOCKET sock;
SOCKET sockc;
SOCKADDR_IN ssin;
SOCKADDR_IN csin;
const int _http = 80;
WSADATA WSAData;
if(WSAStartup(MAKEWORD(2, 0), &WSAData) == SOCKET_ERROR)
{
closesocket(sock);
WSACleanup();
return;
}
ssin.sin_addr.s_addr = htonl(INADDR_ANY);
ssin.sin_family = AF_INET;
ssin.sin_port = htons(_http);
sock = socket(AF_INET,SOCK_STREAM,0);
if( bind(sock, (SOCKADDR *)&ssin, sizeof(ssin))== SOCKET_ERROR)
{
closesocket(sock);
WSACleanup();
return;
}
if( listen(sock, 10)== SOCKET_ERROR)
{
closesocket(sock);
WSACleanup();
return;
}
bool running = true;
int len = sizeof(csin);
while(true) // Boucle Infinie pour accepter les connexions entrantes
{
if(sockc = accept(sock, (SOCKADDR *)&csin, &len)== SOCKET_ERROR)
{
closesocket(sock);
WSACleanup();
return;
}
if(sockc != INVALID_SOCKET)
{
int nbr_data = 0;
while(nbr_data <=0 )
{
nbr_data = recv(sockc,texte,2,0);
Sleep(500);
}
//Il ny a aucun message intercepte ,alors que j'envoi commem un message via une
//autre socket
}
Merci de m'aider
