Здравствуйте все!
Кто мне подскажет:
создаю серверный TCP STREAM сокет, соединение, обмен инфой, и тут начинают в буффере появляться посторонние символы. В зависимости от сообщения сервера разные, но абсолютно левые. Например 'б%!'. Это я +- пропускаю но на строку "$AGENCЮжный Двор\n\0" в канал ВСЕГДА попадает EOF и соединение разлетается. Что это и как с этим бороться?
>Здравствуйте все!
>Кто мне подскажет:
>создаю серверный TCP STREAM сокет, соединение, обмен инфой, и тут начинают в
>буффере появляться посторонние символы. В зависимости от сообщения сервера разные, но
>абсолютно левые. Например 'б%!'. Это я +- пропускаю но на строку
>"$AGENCЮжный Двор\n\0" в канал ВСЕГДА попадает EOF и соединение разлетается. Что
>это и как с этим бороться?Как ты пишешь ? Как ты читаешь ? Какую библиотеку при этом используешь ? Какая OS, compiler ? Неплохо бы все это указывать сразу + кусок кода, где, возможно, ты допустил ошибку.
>Как ты пишешь ?
SendText (VCL)
> Как ты читаешь ?
read пока не \n
> Какую библиотеку при этом используешь ?
stdio+linuxовские glibc
> Какая OS, compiler ?
Linux 2.6.2, GNU Compiler Colection (gcc :)) 3
> Неплохо бы все это указывать
>сразу + кусок кода, где, возможно, ты допустил ошибку.
Код -- сложновато. Мне бы знать, как удержать соединение от EOFа, так оно разрывается: LOG: unexcpected EOF on client connection...
>>Как ты пишешь ?
>SendText (VCL)
>> Как ты читаешь ?
>read пока не \n
>> Какую библиотеку при этом используешь ?
>stdio+linuxовские glibc
>> Какая OS, compiler ?
>Linux 2.6.2, GNU Compiler Colection (gcc :)) 3
>> Неплохо бы все это указывать
>>сразу + кусок кода, где, возможно, ты допустил ошибку.
>Код -- сложновато. Мне бы знать, как удержать соединение от EOFа, так
>оно разрывается: LOG: unexcpected EOF on client connection...Use read/write.
>Use read/write.;) А как ещё?
Вобщем проблему я почти решил
Дело в том что я читал из сокета фразу, а \0 к ней не добавлял. Поэтому иногда фукции строк просто вываливались в Segmentation Fault, а так как это демон, то ети надписи уходили и /dev/null(причем очень даже успешно).
Спасибо всем, кто отозвался!
>Здравствуйте все!
>Кто мне подскажет:
>создаю серверный TCP STREAM сокет, соединение, обмен инфой, и тут начинают в
>буффере появляться посторонние символы. В зависимости от сообщения сервера разные, но
>абсолютно левые. Например 'б%!'. Это я +- пропускаю но на строку
>"$AGENCЮжный Двор\n\0" в канал ВСЕГДА попадает EOF и соединение разлетается. Что
>это и как с этим бороться?
A xuli borotza? buffer-to ne initzializirovan, tama ne to 4to 'b%', s i slovo 'XUY' mojet okazat'sa:=).
1). char *buff=NULL;
2). memset(&buff, 0, sizeof(buff));
3). bzero(&buff, sizeof(buff));
- vibiray luboe.
>>Здравствуйте все!
>>Кто мне подскажет:
>>создаю серверный TCP STREAM сокет, соединение, обмен инфой, и тут начинают в
>>буффере появляться посторонние символы. В зависимости от сообщения сервера разные, но
>>абсолютно левые. Например 'б%!'. Это я +- пропускаю но на строку
>>"$AGENCЮжный Двор\n\0" в канал ВСЕГДА попадает EOF и соединение разлетается. Что
>>это и как с этим бороться?
>
>
>A xuli borotza? buffer-to ne initzializirovan, tama ne to 4to 'b%', s
>i slovo 'XUY' mojet okazat'sa:=).
>1). char *buff=NULL;
>2). memset(&buff, 0, sizeof(buff));
>3). bzero(&buff, sizeof(buff));
> - vibiray luboe.первое особенно рулит :) после него делаешь read в этот buff и прога падает в core...
так что не выбирать следует не любое... :)
>>Здравствуйте все!
>>Кто мне подскажет:
>>создаю серверный TCP STREAM сокет, соединение, обмен инфой, и тут начинают в
>>буффере появляться посторонние символы. В зависимости от сообщения сервера разные, но
>>абсолютно левые. Например 'б%!'. Это я +- пропускаю но на строку
>>"$AGENCЮжный Двор\n\0" в канал ВСЕГДА попадает EOF и соединение разлетается. Что
>>это и как с этим бороться?
>
>
>A xuli borotza? buffer-to ne initzializirovan, tama ne to 4to 'b%', s
>i slovo 'XUY' mojet okazat'sa:=).
>1). char *buff=NULL;
>2). memset(&buff, 0, sizeof(buff));
>3). bzero(&buff, sizeof(buff));
> - vibiray luboe."Гениально" .... ГГГ