Обработка сообщения реверса проксировала Запросы HTTP? (как ESI Akamai)

Так что вам нужно будет где-то зациклить, чтобы ваша программа продолжала проверять поток. Обычно проще всего было использовать булевы индикаторы, поэтому перечислим это так:

Boolean openConnection = false;

Это должно быть на уровне класса. Затем внутри вашего метода подключения вы зацикливаетесь и слушаете. Примерно так.

NetworkStream ns = server.GetStream();
openConnection = True;
            Task.Factory.StartNew(() => 
                {
                    while (openConnection)
                    {
                        ns.Read(data, 0, data.Length);
                        var stringData = Encoding.ASCII.GetString(data, 0, 1024);
                        dataToAdd.Add(stringData);
                        foreach (var list in dataToAdd)
                        {
                            txt_BarcodeDisplay.Text += list + Environment.NewLine;
                        }
                        Thread.Sleep(2000);
                    }
                }
            );

Так что это много для распаковки, но в основном вы говорите, читайте то, что приходит из сети, делайте это, пока переменная openConnection не будет установлена ​​в false. Да, и поскольку мы не хотим привязывать процессор к 100%, переведите нить в спящий режим, поэтому мы проверяем только каждые 2 секунды.

Это грубое начало, но я надеюсь, что оно даст вам представление о том, в каком направлении вы должны это делать.

6
задан Charles 4 October 2011 в 19:49
поделиться

3 ответа

установите Nginx как фронтенд и используйте SSI для выбора динамических частей страниц. динамический источник может быть сервером HTTP, как Apache или сервер FastCGI, например, PHP или Django.

править:

Много веб-серверов поддерживают некоторую форму SSI (Сторона сервера Включает), эта функция позволяет Вам добавить некоторые теги в HTML как очень ограниченная форма сценариев, намного более простых и быстрее (и более старый), чем PHP. Используя это можно установить статические страницы с большей частью содержания, и для 'маленьких динамических частей', тег SSI ссылается на динамическую страницу, сгенерированную где-то в другом месте.

Я особенно как nginx как frontend почти к чему-либо. это злое быстрый, легкий на ресурсах, и чрезвычайно масштабируемый (думайте lighthttp с более чистым и более стабильным кодом). автор описывает это не как веб-сервер общего назначения; но как прокси frontend. Бэкенды могут быть сервером HTTP (обычно Apache) или процессы FastCGI (PHP, Python, Perl, безотносительно), или ферма или, или оба.

memcached модуль удивителен, он использует memcached (который является самым быстрым и большая часть масштабируемой распределенной хеш-таблицы общего назначения вокруг) непосредственно связать веб-страницу с URL, никакой включенный доступ к диску. так как memcached доступен с 'внешней стороны' сам веб-сервер, это может использоваться даже с динамическими страницами (учитывая нормальное отображение URL/ресурса); но я не думаю, что это помогло бы много в Вашем случае. в любом случае сначала заставьте его работать с SSI, затем можно (при необходимости) оптимизировать динамическую часть с memcached.

2
ответ дан 17 December 2019 в 02:35
поделиться

Я знаю, что несколько человек записали об использовании nginx SSI с кэш-памятью nginx модуль для соединения вместе фрагментов содержания. Это намного более ограничено, чем что-то как ESI, но все еще полезно.

1
ответ дан 17 December 2019 в 02:35
поделиться

Итак, оказывается, что Varnish имеет (и имел) базовую поддержку ESI, которая делает почти все, что я хотел это к. Если кому-то нужно что-то делать с ESI, Varnish, кажется, вполне подходит для этого. Это довольно просто, но все равно потрясающе.

2
ответ дан 17 December 2019 в 02:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: