The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"проблемы с libsock"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"проблемы с libsock"
Сообщение от maverick emailИскать по авторуВ закладки on 12-Янв-05, 21:15  (MSK)
такая проблема. я пишу почтовую программу, и мне надо сначала послать USER,
потом получить ответ, послать PASS и тд... проблема в том, что у меня не получается попеременно использовать send и recv... после send никакой ошибки не наблюдается, но вот recv ждёт непонятно чего. по идее сервер должен отвечать на запрос... 100% что сервер в порядке, я его проверял netcat`ом...

Может, я что то не так делаю....
Вот код... (часть его)

  char *ptr;
ptr = (char *) calloc(MAX_LEN, 1);
/*  memset(ptr, 0x0, 100); */
  memcpy(ptr, "USER SOMEUSER", 15);

  stat = send(sock, ptr, strlen(ptr), 0);

memset(ptr, 0x0, LEN);

  stat = recv(sock, ptr, MAX_LEN, 0); /*<-- здесь он затыкается или идёт дальше
    елсли использовать MSG_DONTWAIT*/

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "проблемы с libsock"
Сообщение от gyn61 Искать по авторуВ закладки(ok) on 12-Янв-05, 21:21  (MSK)
>  memcpy(ptr, "USER SOMEUSER", 15);

А перевод строки?

>  stat = send(sock, ptr, strlen(ptr), 0);

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "проблемы с libsock"
Сообщение от ssa emailИскать по авторуВ закладки(ok) on 13-Янв-05, 03:36  (MSK)
яб добавил бы еще такое:

FD_SET
select
FD_ISSET

ну или... ненаю... мне еще обычно таймаут волнует

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "проблемы с libsock"
Сообщение от maverick emailИскать по авторуВ закладки on 13-Янв-05, 18:51  (MSK)
>>  memcpy(ptr, "USER SOMEUSER", 15);
>
>А перевод строки?
>
>>  stat = send(sock, ptr, strlen(ptr), 0);

Дык по логике send сама должна подставлять crlf или я ошибаюсь?
если я пишу
memcpy(ptr, "USER SOMEUSER\r\n", 15);
то при последующем обращении к recv ответ приходит, но зато
при повторении send с командой PASS и затем recv, ответ приходит invalid command, что является следствием посылки на сервер пустой строки, те "\r\n"... вощем, дело ясное, что тут что-то с лайн-терминаторами.. будем копать...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "проблемы с libsock"
Сообщение от ssa emailИскать по авторуВ закладки(ok) on 13-Янв-05, 03:41  (MSK)
и еще вопросик, а как strlen посчитает то длинну если нету '\0' ???

или я чего не так понял?? он вроде считает пока не попадЁт на '\0' ???

яб попробовал:

memcpy(ptr, "USER SOMEUSER\0".....

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "проблемы с libsock"
Сообщение от gyn61 Искать по авторуВ закладки(ok) on 13-Янв-05, 19:01  (MSK)
>и еще вопросик, а как strlen посчитает то длинну если нету '\0'
>???
>
>или я чего не так понял?? он вроде считает пока не попадЁт
>на '\0' ???
>
>яб попробовал:
>
>memcpy(ptr, "USER SOMEUSER\0".....

А не проще пересесть на strcpy()?

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру