Probleme dans le serveur peut etre le client -fonction accept-
Fermé
jawadbatata
Messages postés1Date d'inscriptionvendredi 23 janvier 2015StatutMembreDernière intervention23 janvier 2015
-
Modifié par Whismeril le 23/01/2015 à 20:16
Bonjour,
c++
je ne sais pas ou est le probleme exatement
j'ai une probleme dans mon program (server)
lors j'ai cliqué sur mon progmram , il s'aficha sur mon page d'ecran il attende des connexion sur le port 84 (listenig for incomming connesxion), or j'ai cliqué sur le client il me dit<je suis connecté avec le server mais le server ne me dit rien , il doit me dit un lient a été accepté , voila la source code de mes programs et les deux programs.
http://www.gulfup.com/?K5zRZX
code de client
#include <iostream>
#include <stdio.h>
#include <winsock2.h>
using namespace std;
SOCKET StartServer (unsigned short port);
void EndServer (SOCKET socket);
int main()
{
WSAData WsaInfo;
int ws;
ws = WSAStartup(MAKEWORD(2,2),&WsaInfo);
if (ws==0)
{
cout<<"winsock startup succuss..\n";
}
else
{
cout<<"winsock startup failure\n";
}
SOCKET sock;
sock = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if (sock==INVALID_SOCKET)
{
cout<<"Error socket startup\n";
}
else
{
cout<<"Socket startup succuss..\n\n";
}
struct sockaddr_in serverInfo;
serverInfo.sin_family = AF_INET;
serverInfo.sin_port = htons(84);
serverInfo.sin_addr.s_addr = inet_addr("127.0.0.1");
int bnd;
bnd = bind(sock,(sockaddr*)&serverInfo,sizeof(serverInfo));
if (bnd==SOCKET_ERROR)
{
cout<<"error on bind\n";
}
else
{
cout<<"succuss, socket and struct are linked\n";
}
int cnct;
cnct = connect(sock,(sockaddr*)&serverInfo,sizeof(serverInfo));
if (cnct==SOCKET_ERROR)
{
cout<<"error to connect\n";
}
else
{
cout<<"you are connected with the server\n";
}
std::cin.get();
closesocket(sock);
cout<<"socket closed\n";
WSACleanup();
cout<<"winscok closed";
return 0;
}
---------------------------------------------------------------------
code de server
#include <iostream>
#include <winsock2.h>
#include <stdio.h>
//N.B : the last function (accept) can't showed if client don't connected with the server
using namespace std;
SOCKET StartServer(unsigned short port);
void EndServer (SOCKET socket);
int main()
{
int ws;
WSAData WsaInfo;
ws = WSAStartup(MAKEWORD(2,2),&WsaInfo);
if (ws==0)
{
cout<<"Winsock startup succuss..\n";
}
else
{
cout<<"Winsock startup error\n";
}
SOCKET sock;
sock = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if (sock==INVALID_SOCKET)
{
cout<<"Error socket startup\n";
}
else
{
cout<<"Socket startup succuss..\n\n";
}
struct sockaddr_in server;
server.sin_family = AF_INET;
server.sin_port = htons(84);
server.sin_addr.s_addr = INADDR_ANY;
int bnd;
bnd = bind (sock,(sockaddr*)&server,sizeof(server));
if (bnd==SOCKET_ERROR)
{
cout<<"Error for link socket whit struct.\n";
}
else
{
cout<<"Succusss server on bind...\n";
}
int lstn;
lstn = listen(sock,5);
if (lstn==SOCKET_ERROR)
{
cout<<"Error for lestening.";
}
else
{
cout<<"Lestening for incomming connection...\n";
}
SOCKET cnct;
cnct = accept(sock,(sockaddr*)&server,0);
if (cnct==INVALID_SOCKET)
{
cout<<"Error for accept";
}
else
{
cout<<"A new cleint has been accpted";
}
std::cin.get();
return 0;
}