Обработка http, запущенного Flex на сервере C #

Привет, я пытаюсь отправить простое HTTP-сообщение с Flex на сервер C #, но мне кажется, что я получаю буксирные вызовы, первый настоящий, а второй - пустой.

Почему это так и как я могу с этим справиться?

Это мой код на C #:

TcpListener listener = new TcpListener(IPAddress.Any, 9400);
listener.Start();
Console.WriteLine("Server started");
Socket client;
while (true)
{
    client = listener.AcceptSocket();
    // client.Available is an expensive call so it's just for testing
    Console.WriteLine("Client accepted " + client.Connected + " " + client.Available);
    SocketHandler handler = new SocketHandler();
    ThreadPool.QueueUserWorkItem(handler.handleSocket, client);
} 

это SocketHandler:

public void handleSocket(object socketObjeck)
{
    try
    {
        socket = (Socket)socketObjeck;
        byte[] buffer = new byte[1024];
        SocketSettings.setSocket(socket);
        //blocker...
        try
        {
            socket.Receive(buffer);
        }
        catch (Exception e)
        {
            Console.WriteLine("Error\nFaild reading from socket\n" + e.Message);
            socket.Close();
            return;
        }
        parseData(buffer);

        socket.Close(3);
    }
    catch (Exception e)
    {
        Console.WriteLine("Error\nError \n" + e.Message + "\n" + e.StackTrace);
    }
}

И это мой гибкий код:

var request:URLRequest = new URLRequest();
request.data = "Hello from flex";
request.url = URL;
request.method = URLRequestMethod.POST;
loader.load(request);

Я всегда получаю 2 вызова. Линия:

Console.WriteLine("Client accepted " + client.Connected + " " + client.Available);

звонила дважды.Что мне не хватает?

Редактировать 1: Я могу сказать вам наверняка, что второй вызов пуст, его даже нет в консоли chrome JavaScript, это похоже на гибкое открытие соединения и ожидание ответа, или я не знаю что ... но он не отправляет никаких данных.

Редактировать 2:

Я пытался отправить настоящий HTTP-ответ, уведомляя о другом, второй вызов приходит, не дожидаясь первого вызова, если я переводю поток ответа в кратковременный сон (100 миллисекунд в моем test), то я получаю второй звонок до того, как смогу ответить на первый.

P.S Использование Flex 4.6, Visual Studio 2010

6
задан Ilya Gazman 9 February 2012 в 09:18
поделиться