Я использую mochiweb для сервера, который также может получить соединение TCP, на которое клиент отправляет простую строку (без перевода строки строка не http). Mochiweb использует HTTP-сокеты и поэтому не может обнаружить это (я даже не получаю http_error
, что я могу легко получить в mochiweb). Как я могу решить это? В идеале я хочу изменить код mochiweb на setopt({packet, http_or_raw})
, но такого не существует. Как бы вы порекомендовали справиться с этим? моя текущая идея состояла в том, чтобы изменить mochiweb и использовать erlang:decode_packet
, есть ли лучший подход?
EDIT:
Подробнее.
Наш сервер является сервисом веб-сокетов. Мы хотим разрешить
люди без поддержки браузера, чтобы использовать его, поэтому мы используем
Flash-объект, чтобы сделать websocket, когда браузер не может. Флэш-объект должен получить файл политики флеш-памяти. вспышка
заставляет файл находиться в одном из двух мест:
- порт 843 (флэш-код)
- порт службы ws
Протокол флэш-памяти НЕ основан на HTTP.
Amazon ELB не позволяет переадресацию портов для
большинство портов ниже 1024, поэтому мы
реализовал флеш сервер в том же порту через патч к
мотиевеб (https://github.com/nivertech/mochiweb/tree/ori_flash_170811).
Любой совет?