OVH Cloud OVH Cloud

Probleme application serveur

4 réponses
Avatar
Julienz83
Salut à tous. Je suis en train de développer une application anti-netbus.
Ce programme écoute les requetes de connection sur le port 12345.
Lorsque quelqu"un essaye de se connecter, il accepte et envoi "Connected"(
pour faire croire que le troyen est connecté). Mais il ya un probleme, mon
programme (qui fonctionne comme serveur bien sur), accepte la connection
mais il ya une erreur lors de l'envoi de "connected". Je ne sais pas d'ou
vient cette erreur. Je vous transmet une partie de mon code source . Merci
de me répondre. a++


int main()
{
WORD wVersionRequested;
WSADATA wsaData;
wVersionRequested = MAKEWORD(1, 1);
WSAStartup(wVersionRequested,&wsaData);

s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

sin.sin_family=AF_INET;
sin.sin_port=htons(12345);

bind(s,(SOCKADDR*)&sin,sizeof(sin));
listen(s,0);

printf("Surveillance du port 12345 en cours ...\n\n");

while(1)
{
int sizes=sizeof(sin2);
if(t=accept(s,(sockaddr*)&sin2,&sizes)!=INVALID_SOCKET)
{
if(send(t,"Connected",strlen("Connected"),0)==SOCKET_ERROR)
{
printf("erreur envoi");
}
Sleep(3000);
}
}
}

4 réponses

Avatar
Julienz83
Merci pour ton aide, mais ta fonction ne marche pas, voici ce que me
retourne le compilateur :

error C2653: 'cnsNet' : is not a class or namespace name
error C2065: 'snprintf' : undeclared identifier

Que dois je faire ?
Merci d'avance.

@++
Avatar
Cyrille \cns\ Szymanski
> error C2653: 'cnsNet' : is not a class or namespace name



Tu vires "cnsNet::" (j'ai juste fait un copier coller)

error C2065: 'snprintf' : undeclared identifier



Tu inclues stdio.h

--
_|_|_| CnS
_|_| for(n=0;b;n++)
_| b&=b-1; /*pp.47 K&R*/
Avatar
Julienz83
Merci de ton aide, j'ai obtenu le code d'erreur. C'est le code 10038.
Est ce que quelqu'un sait comment résoudre cette erreur(erreur 10038). Cette
erreur a lieu je rapelle à la fonction send qui envoi un buffer vers le
client (mon application est un serveur).


Merci de me répondre.a++
Avatar
Cyrille \cns\ Szymanski
> Je viens de comprendre qu'il fallait que j'utilise la fonction select.
Mais je ne sais pas du tout comment complèter le deuxième argument de
cette fonction.



Si je suis la logique de ton post, tu n'as pas besoin d'utiliser select().
Ce qui plante est ton

t¬cept(...)!=INVALID_SOCKET

qui devrait être

(t¬cept(...))!=INVALID_SOCKET

--
_|_|_| CnS
_|_| for(n=0;b;n++)
_| b&=b-1; /*pp.47 K&R*/