2012-01-09 1 views
1

Я пытаюсь отличить новое соединение как соединение с HTTP или фреймворком/строкой с использованием Netty, и я хочу использовать тот же серверный порт для обоих. Пока я просто ищу «GET» и т. Д. В первой строке. Однако при использовании DeimiterBasedFrameDecoder я продолжаю получать содержимое String даже тогда, когда декодеры и кодеры заменяются HTTP-тегами. Я попробовал переопределить handleUpstream, messageReceived, разгонять события и преобразовывать потерянные сообщения обратно в channelbuffers и т. Д., Но мне не повезло. Я также попытался реализовать один обработчик, который просматривает первый полученный channelbuffer, но после этого я не могу создать рабочий конвейер.Различать соединение между HTTP и простым строковым протоколом с использованием Netty

Любые предложения?

ответ

1

Посмотрите на port unification example. Вам не нужно начинать с нуля, просто измените PortUnificationServerHandler на основе вашего типа или протокола вашего контента и добавьте туда свой кодировщик/декодеры.

+0

Спасибо большое, я попробую! – dcode