Accueil > Forum > > > > RECV() TELNET
RECV() TELNET
jeudi 28 juin 2007 à 17:51:52 |
RECV() TELNET

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 phrase voici le code #include <winsock2.h> #include <windows.h> #include <iostream>
bool Insocket(long PORT) {
WSADATA WSAData; WSAStartup(MAKEWORD(2,0), &WSAData); SOCKET sock; SOCKET csock; SOCKET cs; SOCKADDR_IN sin; SOCKADDR_IN csin; sock = socket(AF_INET, SOCK_STREAM, 0); sin.sin_addr.s_addr = INADDR_ANY; sin.sin_family = AF_INET; sin.sin_port = htons(PORT); bind(sock, (SOCKADDR *)&sin, sizeof(sin)); listen(sock, 0); char *msg=new char[1]; while(1) { int sinsize = sizeof(csin); cs=accept(sock,NULL,NULL); if (cs!=INVALID_SOCKET){ printf("Connection=>\n"); send(cs, "", 1, 0); while ((recv(cs,msg,1,0))>0){ printf(msg);
} } }
} int main() { Insocket(1000); }
Le code m'affiche dans un printf de recv() donc caractere par caractere .Donc faire un while((*msg != '\n') Je sais pas comment mis prendre Jespere que vous pouriez maidé 
Merci
Kevin
|
|
jeudi 28 juin 2007 à 18:08:55 |
Re : RECV() TELNET

rrk275
|
deja : printf(msg); soit on n'a pas le meme c soit ce serait plutot printf("%c",msg[0]); .. ensuite exprime clairement ton idee et tu trouveras :
"comment en ayant une fonction qui recoit caractere par caractere puis je lire phrase par phrase"
reflexion ... reflexion
il suffit de stocker les caracteres et lire la totalite de la chaine au moment opportun ( pas dur tout de meme .. )
conclusion :
( tu dis faire du c++ je te met donc des vector .. #include<vector>)
std::vector<char>msg; msg.push_back(0); while( recv(cs , msg[msg.size()-1] , 1 , 0 ) ) { if( msg[ msg.size()-1 ] == '\n') { //message recu msg.clear(); }
msg.push_back(0); }
voila ..
rrk275
|
|
jeudi 28 juin 2007 à 18:43:54 |
Re : RECV() TELNET

kiki67100
|
Désolé pour mavoir mal exprimé et merci pour ton aide Juste un dernier truc Dev c++ me mais comme erreur 35 C:\Dev-Cpp\code.cpp invalid conversion from `char' to `char*' Dans cette ligne while( recv(cs , msg[msg.size()-1] , 1 , 0 ) )  Merci Kevin
|
|
jeudi 28 juin 2007 à 19:48:58 |
Re : RECV() TELNET

max12
|
Je suis pas le plus grand expert de l'histoire de l'humanité mais je dirais plutôt de prendre un tableau plutot qu'un vector car c'est un peu lourd à mon avis pour une opération quand même assez simpliste. Utiliser strstr() pour savoir quand le retour à la ligne arrive tout simplement et continuer d'accumuler dans le buffer si le retour est non trouvé. C'est ce que je fais et sa réussis assez bien .. :P
|
|
jeudi 28 juin 2007 à 20:19:57 |
Re : RECV() TELNET
|
jeudi 28 juin 2007 à 23:55:53 |
Re : RECV() TELNET

rrk275
|
Je ne vois pas trop l'interet du strstr quand au tableau on ne connait pas sa taille a l'avance ...
m'enfin tout depend de ce que l'on a compris du probleme ...
Pour kiki67100 il te dit que tu passes un nombre au lieu d'un pointeur ... un pointeur c'est une adresse, qui te permet de stocker donc d'ecrire pour transformer en pointeur ajoute & devant... Louis
|
|
Cette discussion est classée dans : cs, socket, sin, sock, recv
Répondre à ce message
Sujets en rapport avec ce message
PROB SOCKETS CON [ par zzzzzz ]
le code source marche mais quand je rajoute un cout#include #pragma comment(lib,"ws2_32.lib")#include int main(void)
Probleme sockets de mer** [ par zzzzzz ]
bé je suis plus quoi faire j'en suis toujours au meme prob y'en a 1 qui me dit d'utiliser strstr() l'autre strcmp() fin bref ca serrais sympas si quel
Probleme de Client Serveur [ par Krox68 ]
voila jaimerais faire un programme client qui puisse se connecter a ce serveur : #include void main(){ WSADATA WSAData; WSAStartup(MAKEWORD(2,0), &WS
LERREUR QUI TUE §§§§§§§§§§§§§§§§ [ par Avalon10101 ]
Vla jai fé mon prog tout é juste mais ya une erreur que je narrive vraiment pas à comprendre ! :C:\Documents and Settings\Alex\Mes documents\Makefile.
pb socket [ par surfeurnet ]
voici mon programme qui a pour l'instant pour unique but de se connecter à un serveur :# include # include # pragma comment (lib,"w32_32.lib")char ip,
[SOCKET]Tjrs le pb de recuperation du buffer recv() [ par enthaz ]
Allez J me lance : ca fait des heures et des heures ke le newb ke je suischerche la solution :D un coté j ai un logiciel client ki envoie "coucou" sur
Socket, quand tu nous tiens ... [ par enthaz ]
Allez J me lance : ca fait des heures et des heures ke le newb ke je suischerche la solution :D un coté j ai un logiciel client ki envoie "coucou" sur
prob sock [ par epoc ]
voilà, g commencé la prog des socks en vc++, mais rien ne transitte alors que la connexion semble être bien effectuée, voilà le code :****************
Pb de socket 'winsock2.h' [ par amodels ]
Bonjour tlm.Je voudrais éxécuter l'adresse http://127.0.0.1/toto.php avec ce code :#include #include #pragma comment(lib, "ws2_32.lib")void main(){WS
erreur 10038 [ par made_in_france ]
Hello ! j'ai un probleme avec la fonction bind de mon programme. En effet cette fonction me renvois l'erreur 10038 « attempted ». Est ce que quelqu'un
Livres en rapport
|
Derniers Blogs
PB LORS DE L'INSTALLATION SHAREPOINT 2010.PB LORS DE L'INSTALLATION SHAREPOINT 2010. par Patrick Guimonet
Lors de l'installation de SharePoint 2010, j'ai rencontré un problème de plantage à l'étape 5 du configuration Wizard. Ca se termine sur cet écran : Et en analysant le fichier de journalisation, on remarque vers la fin des 15000 et quelques lign...
Cliquez pour lire la suite de l'article par Patrick Guimonet [WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (2/2)[WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (2/2) par JeremyJeanson
Après mon précédent article qui attaque les contraintes par la fasse Nord de l'Everest. passons à la seconde possibilité offerte par WF4 pour valider une activité : la metadata . Je vous en ai déjà toucher un ou deux mots. La metadata dans WF4 est un élém...
Cliquez pour lire la suite de l'article par JeremyJeanson [WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (1/2)[WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (1/2) par JeremyJeanson
De WF3 à WF4 pas mal de choses on été changées pour faciliter la vie des développeurs, mais certain points peuvent sembler obscures. comme les contraintes. Pour vous guider, je me lance dans une série de deux articles. Ils présenterons deux approches poss...
Cliquez pour lire la suite de l'article par JeremyJeanson [ASP.NET] NE PAS SE FAIRE AVOIR PAR IHTTPMODULE ET SA MéTHODE INIT()[ASP.NET] NE PAS SE FAIRE AVOIR PAR IHTTPMODULE ET SA MéTHODE INIT() par tja
Beaucoup de développeurs pensent que lorsqu'on créé et enregistre un IHttpModule, il n'en existe qu'une seule instance et la méthode Init() sera appelée qu'une fois.
C'est faux
Cela peut vraiment créer des bugs subtils dont en ne se rend pas compte ...
Cliquez pour lire la suite de l'article par tja [MSTD10] SHAREPOINT 2010 ET TEAM FOUNDATION SERVER[MSTD10] SHAREPOINT 2010 ET TEAM FOUNDATION SERVER par phil
Un post rapide pour vous informer de la disponibilité de la vidéo de ma présentation sur SharePoint 2010 & Team Foundation Server. http://www.microsoft.com/france/vision/mstechdays10/Webcast.aspx?EID=20215d48-02e3-4d43-8c36-e53505c3b316 Dans la ...
Cliquez pour lire la suite de l'article par phil
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|