Skip to content
kjunichi edited this page Nov 2, 2012 · 5 revisions

概要

iPhone4Sからのhttp要求にindex.htmlを返し、返却HTML内にJavaScriptを 埋め込み、iPhone4S上にWebSocketサーバーを動かす。

また、HTTP ProxyとしてiPad(Wifi機器)からのHTTPを処理する。

受付けたHTTP要求はWebSocketに変換して、iPhone4SのWebSocketサーバーに転送する。

iPhone4SからのWebSocketサーバーの応答をHTTPに変換して要求元に返す。

動作イメージ

iPad <-(HTTP) <-> lanHttpProxy.js <-(websocket)-> iPhone4S

使用ポート番号

Web待ち受けポート

8000

Wifi機器からの待ち受け(HTTP Proxy)

8081

処理

WebSocketからの接続時

HTTP Proxyサーバを生成する。

生成したHTTP Proxyへの接続時

データ受信時、終了時の定義を行う。

HTTP Proxyでデータ受信時

データのパースをHTTP通信を前提として行う

送られてきたデータをBase64エンコードしてWebSocketサーバーへ httptowsメッセージに{httpdata:Base64エンコードした受信データ}を入れて送信する。

HTTP Proxyへの接続の切断時

何もしない

WebSocketでwstohttpの受信時

HTTP Proxyの要求元にdata['httpdata']をBase64デコードして返す。

WebSocketでhttpendの受信時

HTTP Proxyの要求元に切断要求を返す。

WebSocketで切断要求受信時

HTTP Proxyの要求元に切断要求を返す。

WAN側のリソース

ws2http2.js