一般論として、全二重の通信プロトコルを実装するにあたっては、いくつか注意すべき点があって、具体的には、到達確認と切断シーケンスについて定めておかないと、送達されたはずのメッセージがロストしていたり、切断タイミングによってエラーが発生*1したりする。 具体例をあげると、たとえばTCP/IPにおいてshutdown(2)を用いずに、いきなりclose(2)を呼んでいると、read(2)やwrite(2)がエラー(ECONNRESET)を返す場合がある。 翻って、WebSocket (RFC6455)の場合はどうなってるか? だいたい以下のような感じっぽい。 ws.close()が呼び出されるとWebSocketをCLOSING状態に変更し、Closeフレームを送信する ws.onmessageはWebCosketがCLOSING状態にある間も呼ばれるかもしれない*2 相手からCloseフレーム
開発環境について この記事では、開発言語としてJava7を使用します。 それなりにユーザ層が厚く、処理系が無料で提供されている、 ということでJavaを選んだだけですので、 他の言語が得意な方は各自読み替えていただいてもよいかと思います。 OSも何でもかまいませんが、私はWindows Vistaを使用しています (2007年に購入したLet'sNoteです。いい加減買い換えろって?)。 Webサーバとブラウザは通常TCP/IPで通信を行いますので、 Webサーバを作る前に、まずはTCPのサーバとクライアントを作ってみます。JavaでのTCPサーバ/クライアントのサンプルソースはGoogle検索でもすればいくらでも見つかりますが、 ひとまずここでは以下のようなプログラムを書いてみました。 まずはサーバです(Server01.java)。 importjava.io.*; impor
このブラウザーはサポートされなくなりました。Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。Windows 8 と WebSocket プロトコル Kenny Kerr WebSocket プロトコルの目的は、接続を確立して要求と応答のペアを開始する全責任をクライアントが担う Web 環境で、双方向通信を実現することです。これにより、アプリケーションは TCP のメリットを Web に適した方法で活かすことができるようになります。WebSocket プロトコルは、2011 年 12 月にインターネット技術標準化委員会 (IETF) によって標準化されただけで、この記事の執筆時点では World Wide Web コンソーシアムでもいまだ検討中であることを考えると、Windows 8 でこの新しいイン

Chrome Apps v2's socketapiChrome の Web appsが manifest v2 に変わり、その機能、特に Packaged Apps が大幅に変わっています。 What Are Packaged Apps? その中で僕が特に注目しているのが、socketapi。ChromeのPackaged Appsから、生のソケットコーディングが出来るようになります。 この socketapi ですが、これまで tcp ソケットでサーバーを立てることができなかった(listenとかacceptのメソッドが無かった)のですが、昨日GoogleAPI ExpertMTGで 吉川さんから、「昨晩Chromiumで実装されたみたい」との情報が。ということで、早速簡単なWebサーバーを動かしてみました・・・というのが今日のEntryです。(執筆時点では、すでに、ca
管理中のサーバで行っているセキュリティ設定を公開します。本当はこういうことを公開するのはよろしくないのですが、脆弱サーバが氾濫している現状そこが踏み台となってsshアタックされるのも迷惑極まりないので、最低限やっとけという内容でまとめました。*1 起動サービスと概要iptables/Firewallの設定iptablesの中身 limit-burstについて hashlimitについて hosts.allow/hosts.deny(TCP Wrapper)の設定 sshdの設定 その他の設定 Apacheの設定 Postfixの設定 Dovecotの設定 まとめ 起動サービスと概要 Apache (www) sshd smtp/pop bind (DNS) ntpd いくつかの注意点。sftpで十分なのでftpdは使わない。WinSCP等を使えばffftpに依存する必要はない。*2

1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く