begin process at 2012 05 30 18:31:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

TELNET aide sur RECV ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

TELNET aide sur RECV ?

mardi 15 juin 2004 à 00:25:58 | TELNET aide sur RECV ?

hergo

bonjour jai besoinr daide ssur mon serveur telnet :

Je suis sous NT en language C/C++ avec Borland builder X

quand je le lance tout fonction , il attend la connexion dun client , si il arrive il affiche l'ip sur la consol du serveur.

Maintenant mon probleme ce situe au niveau du client :

jutilise comme client : TELNET de windows

je lui envoi sans probleme une question ...
elle s'affiche !

mais pour la reponse : client -> serveur ! ca ne marche pas.

c'est a dire quil ne me laisse pas frapper ma reponse ...
Il passe directement a la ligne d'apres !

voici mon code :


#include <winsock2.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib")
#define send(coco,caca) send(coco,caca,strlen(caca),0)
#define recu(toto, titi, tata) recv(toto, titi, tata, 0)

int main(void)
{
char loginr[80] = "";
char loginok[80] = "Hergo";
int len = 4096;

SOCKET s;
SOCKET c;
sockaddr_in sin;
WSAEVENT EventClose = WSACreateEvent();

WSADATA wsa;
WSAStartup(MAKEWORD(2,0), &wsa);

s = socket(AF_INET, SOCK_STREAM, 0);

sin.sin_family = AF_INET;
sin.sin_port = htons(23);
sin.sin_addr.S_un.S_addr = INADDR_ANY;

bind(s,(sockaddr *) &sin, sizeof(sin));
listen(s, 5);

int SinSize = sizeof(sin);

c = accept(s, (sockaddr *) &sin, &SinSize);
WSAEventSelect(c, EventClose, FD_CLOSE);
printf("connection accepte\n");
printf(inet_ntoa(sin.sin_addr));

start:

send ( c," # Entre Ton Login:");


recu(c, loginr, len); /// c'est ICI que ca plante ... il passe directement en dessous !!!! il n'attend pas la reponse


if (strcmp(loginr, loginok)) {
send (c, " Login Incorrect." );

goto start;

}
else {
send (c," ok !!!!");
}



WSAWaitForMultipleEvents(1, &EventClose, FALSE, WSA_INFINITE, FALSE);
printf("connection perdue\n");
return 0;
}




Merci de bien vouloi repondre et m'aider c vraiment important !!!!!

jai essayer aussi de mettre MSG_WAITALL dans RECV ca marche pas non plus !

jai essayer aussi avec une boucle while trouver dans Bubsock !!!

ca ne marche pas !


jai aussi penser que ca pourai etre TELNET qui nattend pas de reponse !!!

je suis perdu !!!!

aidez moiiii

merci.
mardi 15 juin 2004 à 14:40:26 | Re : TELNET aide sur RECV ?

roswell117

petite adaptation d'un morceau de code en C contenant la fonction "select" qui devrait te convenir :


fd_set fdsr;
struct timeval tv_timeout;
int findelai, tpslimite;

FD_ZERO(&fdsr);
FD_SET(c, &fdsr);
tv_timeout.tv_sec = tpslimite;
tv_timeout.tv_usec = 0;

findelai = 0;
do
{
if (select(c+1, &fdsr, NULL, NULL, &tv_timeout) <= 0)
{
// Dans le cas où le temps est écoulé, on veut sortir de la boucle
printf("D\202lai d'attente depass\202.\n");
findelai = 1;
}

if (FD_ISSET(c, &fdsr))
{
// Dans le cas où le buffer du socket contient des données
recu(c, loginr, len);
}
}while(findelai == 0);


il y a peut-etre des erreurs avec tes variables, ca ete adapte a la va-vite.
pour la version originale :http://www.cppfrance.com/code.aspx?ID=10926


Cette discussion est classée dans : send, telnet, jai, sin, recv


Répondre à ce message

Sujets en rapport avec ce message

Fonctions send et recv [ par bubbless ] Bonjour, Dans le cadre d'un projet, je réalise actuellement un système serveur / client, et je me trouve confronté à un probème : le serveur acc Serveur Telnet C++ Aide sur IP [ par hergo ] Bonjour je suis debutant et j'aimerai savoir comment recuperer l'ip dun client qui se connect a un serveur telnet:jai recuperer ce serveur telnet si j socket et serveur smtp [ par lombredudragon ] Voila j'aimerais savoir si c'est possible d'envoyer un mail de cette maniere:#include #pragma comment(lib, "ws2_32.lib") void main(){ WSADATA WSADat mail [ par anonyme_man_in_this_world ] salut  !!il y en a plein de codes qui traitent ce sujet mais le probleme c'ets qu'il se basent sur lles fonctions Win32 .ce que je veux faire moi c'es 2 send, 1 seul recv [ par chriskang ] J'ai créé une application de type client-serveur qui réagit bizarrement lorsque je fais plusieurs send consécutifs vers une même socket.Au cours de me RECV() TELNET [ par kiki67100 ] Bonjour j'ai fait un serveur en c++ Mais le probleme c'est que mon code lit le recv() de telnet caractere par caractere et moi je voudrais phrase par Blocage socket recv() lorsque send() a envoyé 1418 octets - entre 2 freebox [ par billbaxter ] Bonjour, J'ai développé une appli client-serveur avec les winsock2 en me référant aux exemples MSDN, donc à priori dans les règles de l'art.Le client Probleme Architecture client Serveur Multithread [ par kawito ] Bonjour,j'ai fais un client serveur TCP qui doit gerer n connexions(win32 c++) winsowk1.1.le serveur gere les connexions a travers un thread acceptqui Requetes serveur cs 1.6 [ par Mini92 ] En fait, j'essaye d'envoyer des requêtes sur mon serveur cs mais je n'obtiens aucun retour.Voilà le code si quelqu'un peu m'aider svp#include #include send et recv dans le meme programme [ par obader ] Salut a tous J'ai fait un petit programme client qui se connecte à un seveur téléphonique, mon programme contient un snd suivi d'un recv, le snd march


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales