php-web-socket+ie8+nadesikoを使う。の3回目ですが此処までの不明点を
それなりに自己解決したので完結編とします。
今回もまた、自分のメモレベルでソースコードの不具合や認識間違いも
多々有ると思いますので、参考にされる方は自己責任でお願い致します。
これまでの問題点
1、php demo.php をコマンドプロンプトで実行したがechoの出力が出ない?
    自宅PCはOKですが職場のPCでphp CLIで「php demo.php」を実行すると
    echo出力が出ず、デバックが出来ません!
    調べた結果、自宅PCは phpのバージョンが5.3.8で職場は5.3.1でした。
    取り敢えず、職場もphpのバージョンを5.3.8に入れ替えました。
    何と!echo出力が正常に出る様になりました。
    5.3.1で不具合が有るのか原因は判りませんが、デバックが出来るのでOKとします。
2、「なでしこ」のWeb部品から接続完了やデータ受信のイベントを取得出来ない。
    これも悩みました。
    自分のスキルではTCPソケットとWebソケットの相互接続は無理と考え
    「なでしこ」のWeb部品を経由して「なでしこ」で作ったアプリとイントラの
    Webでリアル通信を考え、php-websocketまでの接続に目処が着いたのに
    「なでしこ」で接続完了やデータ受信を取得出来ませんでした。
    php-websocketのソースを見ながら、これにTCPのソケット通信を追加しようと
    考え、かなり好い加減(無茶?)な追加ですが、何とか動きました。
    websocket.protocol.phpとdemo.phpにコードを追加しました。
3、php-websocketにTCP接続を追加したが機種依存コードの文字化けが発生する。
    「なでしこ」からTCP接続はSJISでweb-socketからの接続がUTF8で
    mb_convert_encodingやiconvを試しましたが①等の変換がNGでした。
    たまたま古い参考書を読み直したら、jcode.phpsが載っていました。
    早速、TOMOさんのホームページからjcodeをダウンロードして試したら、
    希望どうりの変換結果です。(jcode_1.35a.zip を使わせて頂きました。)
    文字コードの変換問題は以前から合ってそのままなんですね。
上記の対応を行ったソースを添付しようとしましたが、このBloggerでは
画像の添付のみなのでGoogleのホームページを作ってそちらに添付しました。
ホームページは hiro-kenbun です。
ソースファイルは このページ に有ります。
以下に関連するスクリーンショットを添付します。
<<TCP接続の追加>>
<<jcodeでコード変換>>
<<demo.php実行中>>
以上
0 件のコメント:
コメントを投稿