1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| void * fn_Rxc(void * p_data) // Serveur
{
printf("Début tread Rx \n");
WSADATA wsa;
WSAStartup(MAKEWORD(2,0),&wsa);
SOCKET sock_attente;
SOCKET sock_dialogue;
SOCKADDR_IN csin;
int len;
// int port= xx; // affecté en variable globale
csin.sin_family=AF_INET;
csin.sin_addr.s_addr=htonl(INADDR_ANY);
csin.sin_port=htons(port);
sock_attente = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if (sock_attente == INVALID_SOCKET)
return NULL;
if (bind(sock_attente,(SOCKADDR*)&csin,sizeof(csin)) == SOCKET_ERROR)
return NULL;
printf("Listen...\n");
if (listen(sock_attente, 1) == SOCKET_ERROR)
return NULL;
len = sizeof(csin);
printf("Attente client...\n");
sock_dialogue = accept(sock_attente, (SOCKADDR *)&csin, &len);
if (sock_dialogue==INVALID_SOCKET)
return NULL;
printf("Connection en Serveur :\n");
return NULL;
} |