pywebsocketで80番ポート以外を使おうとするとHeader/connection port mismatch: 80/xxxxというエラーが出る
ブログに書くようなネタがありそうでなくて悩んでいました
pywebsocket - WebSocket server and extension for Apache HTTP Server for testing - Google Project Hosting
pywebsocketを使うとPythonでWebSocketを使うことができます。
80番ポートがApacheとかが動いてる時に他のポートを使いたくて、使ってみた結果タイトルにようなエラーが発生してしまっていました。
parse_host_header()関数で帰ってくるポート番号が80番になっているのがこれがなんで80番が帰ってきてしまうのかよく分からない。(調査不足)、もしかしたらhost_headerにポート番号が設定できて、その設定ができていない?
とりあえずは
https://code.google.com/p/pywebsocket/source/browse/trunk/src/mod_pywebsocket/handshake/hybi00.py#108:handshake/hybi00.py#108らへんのコードを
#if port != connection_port: # raise HandshakeException('Header/connection port mismatch: %d/%d' % (port, connection_port))
こんな感じでコメントアウトすればちゃんと動いてくれます
ただ本質的な解決になってないのであれですが、、