Могу ли я повторно использовать свой существующий TCP-сервер? - PullRequest
1 голос
/ 17 января 2011

На данный момент у меня есть существующее приложение, которое в основном состоит из настольного графического интерфейса пользователя и TCP-сервера. Клиент подключается к серверу, и сервер уведомляет клиента, если происходит что-то интересное.

Теперь я должен заменить настольный графический интерфейс на веб-интерфейс, и мне интересно, нужно ли переписывать сервер для отправки http-пакетов вместо tcp-пакетов или я могу каким-то образом использовать какой-то прокси-сервер для захвата пакеты tcp и пересылать их веб-клиенту?

Нужен ли какой-нибудь комет-сервер?

1 Ответ

2 голосов
/ 17 января 2011

Если вы можете заставить своего клиента спросить что-то вроде "Что нового, приятель?" время от времени к вашему серверу вы можете приступить к реализации эмулятора HTTP-сервера через TCP - это весело и легко. И вы можете иметь любой веб-интерфейс.

Вы можете просто добавить к своим TCP-ответам заголовки Http - это, вероятно, будет делать =)

Таким образом, я имею в виду, что HTTP - это просто TCP с некоторыми заголовками, как показано в здесь .

Вам, вероятно, следует установить fiddler и отслеживать некоторые http-запросы / ответы, которые вы обычно делаете в Интернете, и вы узнаете, как превратить ваш TCP-сервер в эмулятор http =)

Если вы хотите сохранить подход, основанный на сокетах, используйте flash (есть сокет api) или silverlight (есть сокет API , и вы можете перейти к NetTcpBinding или Duplexbinding что-то вроде этого - это даст вам возможность получать сообщения от сервера, когда сервер хочет, чтобы вы их получали (сервер отправляет сообщения))

Так что, вероятно, вы должны высказать нам, какой сервер вы планируете использовать, чтобы мы могли порекомендовать вам что-то более полезное.

...