Небольшой вопрос по сокетам

Тема в разделе "WASM.NETWORKS", создана пользователем Guest, 3 дек 2005.

  1. Guest

    Guest Guest

    Публикаций:
    0
    Подскажите как лучше реализовать прием запроса.

    Допустим у меня есть прокси-сервер. он получает запрос от клиента, но тот (запрос) большой, например передаются данные методом POST. Какой способ приема применить?
    Код (Text):
    1.    
    2. invoke  recv,SocketsArray.client,lpMem,QUERY_SIZE,0
    3. cmp eax,SOCKET_ERROR
    4. je  _socket_error
    5.  


    Вот этот у меня щас стоит...
     
  2. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    а что, кроме recv и WSARecv есть еще способы приема данных с сокета? (извраты типа ReadFile не предлагать).
     
  3. Guest

    Guest Guest

    Публикаций:
    0
    Ms Rem

    Проблема в том что мне нужно получить полный запрос от клиента, рецв в цикле не пойдет, т.к. клиент ясно что не пришлет FD_CLOSE, остается FIONBIO в ioctl?
     
  4. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    recv в цикле весьма подходит для этого, а конец запроса определяется по двум переводам строки.

    FD_CLOSE после http запроса не обязательно будет посылаться, так как клиент может ожидать ответа сервера (по RFC он просто обязан это делать).
     
  5. Guest

    Guest Guest

    Публикаций:
    0
    \13\10\13\10 ???
     
  6. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"


    ага
     
  7. Guest

    Guest Guest

    Публикаций:
    0
    Ms Rem

    Спасибо!