Bonjour à tous !
J'avoue que je ne comprends plus (pourtant ça fait deux jours que je cherche :oops:).
J'essaie de faire une appli ftp (client) pour me faire la main avec le C++ sous GNU/Linux (j'ai quelques connaissances en Java).
Le problème se situe exactement ici :
Ce qu'il faut savoir c'est que le socket se crée normalement. Mon problème se trouve avec la gestion des tableaux et surtout avec la variable buffer_reply_chr ! Si j'ai bien compris (d'après les specifications UNIX), je suis sensé donner un &buffer_reply_char dans la fonction recv(...). Ce que je fais.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 const int MAX_REPLY_CHARS = 5000; char buffer_reply_chr[MAX_REPLY_CHARS]; void fonction() { //===début if(recv(sockfd, &buffer_reply_chr, MAX_REPLY_CHARS, 0) == -1) { perror("recv"); exit(1); } traiter_recv(buffer_reply_chr); //===fin } void Connect::traiter_recv(char* buffer) { for(int i = 0; i<=MAX_REPLY_CHARS; i++) { cout << buffer[i]; } }
Après, j'ai essayé plusieurs manières pour récupérer le message renvoyé par le serveur mais j'ai une sortie sur la console atroce (sauf la première ligne qui est lisible et qui ne contient aucun signes bizarres).
et à la console, je ne peux plus que taper des caractères tout aussi étranges !Citation:
220 ProFTPD 1.3.0rc1 Server [xxx.xxx.xx.xxx]
����C�������(�������������hY���{��|&2�������������t�t����|����� C������� ����������������Y���{����������6��@���������W���������u7������W������0�������8���F~�� ���������������lZ���{��F~�������������8~���Z���{��F~��4Y���g�����8~��PY���g��@W���������
����|&�����������C������� ��������������[���{�����������Y���Y���������������������r��C�����^����������p ^�)D^�)D`�)D��^�������������[��5}���Y�����������Y��������_������������]�������Y��������������xZ�������]�������]���]���]����4 ������������xZ���Y������``�����]������Z��������������[�������]�������] ���]���]���V6��������������[��Z�������[��xZ��u7�4����^��*���4�]��F~��| [�����8~�������]���]���]������6��F~��|[���Z��������������[��u7�����^��1��� �]������\�������]��6���]���]���]��������|[��u7�����^��1����]��& ����^��ス����������������C����������������!��$\��1�������6�������]�� �����翃�����������������#������`����\��@�������\���������������� ���\���������]�����#���ユ��������������\��6������#������ �������^��q���`�������'�������.���\����������������x��P����``���������� ���������������x��P����`�`����������������`�ユ��������� ��� g��8g�� g��8g�� ������B���@����Db���2�����`���
���x`���@�R������[������ ����YC�������������������
_��1������`�����������0�����翃�������C�������������������\ _��1���C�������������������|_��1�������V�������1��� �����翃���������������y:<_R����������4`��@��t���_������������� 1������������_��z��� z���y:<``������_R�����������#�����������z���H���������C������������������|`��1���C��������������������`��1�������V������� �����翃����������������<�n�����������Ta��@���8
��a��������� ���>� Y�����������a���a��@���Pa������<��a������n��� ����-������Pa��
����`a��
>� �a������Y������a�����������a��B���������������Tö·⎽ ┼Ûë·Ü-Õ·ôæ·À…æ·°¶Ô·¨▒‰¿ÂÚ·À…æ·œ
ö·¸¡0™¸▒‰¿ ìð·À…æ·œ
ö·è▒‰¿$ñ·€Uö·œ
ö·¸¡0™ø▒‰¿ %ù·Œ-ö·œ
ö·¸¡0™ø▒‰¿½ñ·¸¡œ
ö·
C⎺┼┼␊␌├␋⎺┼ ⎽┤␌␌␊⎽⎽°┤┌┌≤ ␊⎽├▒␉┌␋⎽␊␍. R␊▒␍≤ °⎺⎼ ␌⎺└└▒┼␍⎽.
Bon, visiblement j'ai manqué un truc (ou pas compris) ! Si une âme charitable pouvait me sauver, ça serait sympa :mrgreen: !
(ah oui, ce que je veux faire c'est afficher le message reçu proprement... visiblement il n'y a qu'une ligne de message ? est-ce possible ? comment le savoir ?)
Merci de m'avoir lu en tous cas :).