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 ne se connecte pas.
Je pense que le probleme vient de ladresse IP ou du port...
SERVEUR:
#include <winsock2.h>//winsock.h
#include <stdio.h>
#include <stdlib.h>
#pragma comment(lib, "ws2_32.lib")//wsock32.lib
void main()
{
int sinsize;
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);//MAKEWORD(1,0)
SOCKET sock;
SOCKET csock;
SOCKADDR_IN sin;
SOCKADDR_IN csin;
sock = socket(AF_INET,SOCK_STREAM,0);
sin.sin_addr.s_addr = INADDR_ANY;//htonl(INADDR_ANY);
sin.sin_family = AF_INET;
sin.sin_port = htons(80);//23 ou 7000 ou 80
bind(sock, (SOCKADDR *)&sin, sizeof(sin));
listen(sock, 0);
puts("pret");
while(1)
{
sinsize = sizeof(csin);
if((csock = accept(sock, (SOCKADDR *)&csin, &sinsize)) != INVALID_SOCKET)
{
puts("un socket s'est connecté");
send(csock, "Hello World!\r\n", 14, 0);
}
}
puts("FIN");
}
CLIENT:
#include <winsock2.h>//winsock.h
#include <stdio.h>
#include <stdlib.h>
#pragma comment(lib, "ws2_32.lib")//wsock32.lib
void main()
{
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);//MAKEWORD(1,0)
char *buffer = new char[255];
SOCKET sock;
SOCKADDR_IN sin;
sock = socket(AF_INET,SOCK_STREAM,0);
sin.sin_addr.s_addr = inet_addr("212.234.59.105:80");//212.234.59.105
sin.sin_family = AF_INET;
sin.sin_port = htons(80);//6667 ou 7000 ou 80
connect(sock, (SOCKADDR *)&sin, sizeof(sin));
recv(sock, buffer, sizeof(buffer), 0);
printf("%s\n",buffer);
closesocket(sock);
WSACleanup();
puts("FIN");
system("PAUSE");
}