|
|
|
|
Configuration: Linux Firefox 1.0.7
Salut,
Comment est déclaré buffer ? Taille fixe ou dynamique ? Si dynamique, as-tu fait un malloc/new ? Ton buffersize vaut-il sizeof(buffer) ? Bon courage Qui n'a rien n'a rien (Proverbe Norvillois) |
no la taille du buffer elle vaut 1000
en faite j'envoie 3 paquets |00001|222| ----> 1 er paquet W skjdfsdjfsdfjdfk ----> 2 eme paquet Z fdfdsfdf --->3eme paquet pour le 1 ere paquet elle lie tou le 2nd elle lie que le w et le 3eme elle li que le Z je ne comprend vraiment pas pourquoi elle ne lie pqs tout le paquet C* -----> Either exist as you are or be as you look <---- C* |
Ta déclaration vaut
char buffer [10000]; c'est ça ? Qui n'a rien n'a rien (Proverbe Norvillois) |
en faite voila mon code :
char buffer[PACKET_SIZE +1]; readn(fin, buffer, PACKET_SIZE); int readn(int fd, char *ptr, int n){ int nl, nr; nl = n; while ( nl > 0 ) { printf("buffer size : %d\n",nl); nr = read(fd,ptr,nl); printf("point 1 : %s\n",ptr); if (nr < 0 ) { if ( nr == -1 ) { *ptr = 0x00; return (n-nl); } return nr; /*error*/ } else { if ( nr == 0 ) break; } nl -= nr; ptr += nr; } /*pointing ptr to the adress 0x00*/ *ptr = 0x00; return (n-nl); avec packetsize aui est defini a 1000 C* -----> Either exist as you are or be as you look <---- C* |
|
Heu readn(), c'est pas une fonction qui existe déjà ? Un truc pour lire plusieurs fois à la suite ?
Sinon essaye comme ça : int read_sock (int sockhandle, unsigned char *buf, int taille)
{
int byte_lu = -1;
unsigned char *ptbuf =buf;
int length = taille;
int i = 0;
do {
byte_lu = read (sockhandle, ptbuf,length);
if (byte_lu > 0)
{
ptbuf = ptbuf+byte_lu;
length = length-byte_lu;
}
i++;
if(i > 10000)
return -1;
} while (length > 0);
return (length);
}Ca devrait marcher comme ça
Qui n'a rien n'a rien (Proverbe Norvillois) |
| 27/12 03h01 | [Langage C] C/C++ Erreur de segmentation | Langage C |
| 24/04 17h13 | Comment fonctionner avec RAID 0, 1, 10, 01et 5 | RAID |
| 07/12 20h32 | Les files | Langage C |
| 07/12 21h12 | Les piles | Langage C |
| 28/10 19h36 | Google - Fonction calculatrice |
| 14/12 00h07 | Langage C / Fonction récursive | 18 |
| 04/04 15h18 | Langage C, fonction avec tableaux | 10 |
| 18/01 04h33 | [lang C] fonction pour quitter la console?? | 3 |
| 13/05 00h19 | [langage c] fonction - tableau | 6 |
| 08/02 19h45 | Langage C: fonction :aide | 4 |
![]() | Foxit Reader - Foxit Reader est un lecteur de fichiers PDF très léger, et rapide à démarrer, contrairement à Adobe Acrobat Reader. Il... | Catégorie: PDF Licence: Freeware/gratuit |
![]() | Easy CD-DA Xtractor - Easy CD-DA Xtractor est un extracteur de CD audio pour Windows (CD ripper) capable d'encoder directement aux formats MP3 et... | Catégorie: Extraction Licence: Demo |
![]() | SpamBayes - SpamBayes est un filtre anti-spam, initialement basé sur le travail de Paul Graham, c'est-à-dire un algorithme permettant de... | Catégorie: Antispam Licence: Freeware/gratuit |
![]() | ClamWin - ClamWin est un antivirus gratuit. Il fournit une interface graphique conviviale au moteur Clam AntiVirus. L'Antivirus... | Catégorie: Antivirus Licence: Open Source |
![]() | Corsair Flash Readout USB | Catégorie: Carte Mémoire / Clé USB | 14.80 € La Boutique Du Net |
![]() | Corsair Flash Readout USB | Catégorie: Carte Mémoire / Clé USB | |
![]() | Corsair Flash Readout USB | Catégorie: Carte Mémoire / Clé USB | |
![]() | Corsair Flash Readout USB | Catégorie: Carte Mémoire / Clé USB |