2013-03-31 2 views
0

В настоящее время я пишу простой прокси-сервер, похожий на интерфейс между моим браузером (Firefox или chrome) и веб-сервером, и я устанавливаю Firefox для отправки запроса на определенный порт (7777), и я слушаю в этот порт для получения запроса и отправки в Интернет для получения ответа.Ошибка отправки ответа на браузер с Socket

Для отправки и получения я использую запрос на отправку асинхронного сокета на веб-сервер, у меня есть проблема для отправки ответа на Firefox , так как веб-сервер получает ответ одного запроса в многочастной части (8 Кб), я отправляю каждую часть ответа в браузер немедленно. Теперь, когда я отправить первую часть моего запроса, которые содержат информацию заголовка я не имею проблему , но когда я хочу послать остальную часть моего запроса, который GZIP мой браузер поднять это исключение

FireFox: Content Encoding Error Страница, которую вы пытаетесь просмотреть, не может быть показана, поскольку она использует недопустимую или неподдерживаемую форму сжатия.

Хром: Ошибка 330 (сеть :: ERR_CONTENT_DECODING_FAILED): Неизвестная ошибка.

Но когда я положил сон (1000) в sendcallback он работает правильно

private void SendCallback(IAsyncResult ar) 
{ 
    try 
    { 
     SendStateObject Result = (SendStateObject)ar.AsyncState; 

     int ByteSend = Result.WorkSocket.EndSend(ar); 
     System.Threading.Thread.Sleep(1000); 
    } 
    catch (Exception ex) 
    { 
     System.Windows.Forms.MessageBox.Show(ex.StackTrace); 
    } 
} 

что проблема? спасибо большое

ответ

Смежные вопросы