Windows10をWifiルータ化しインターネットへの接続を共有化

Windows10がインターネットに繋がっていれば、wifi経由でインターネットに繋げることができるようになります。

無線LANを親機として接続できる様にする

コマンドプロンプト

netsh wlan set hostednetwork mode=allow
netsh wlan set hostednetwork ssid=SSID名 key=キー keyusage=persistent
netsh wlan start hostednetwork

wifi経由の通信に対し、インターネットの共有を行う

スタートメニューのWindows管理ツール→コントロールパネル→ネットワークと共有センター

ここで、先程有効にした無線LANの親機の情報を確認
右側の「接続」とかかれた箇所にアダプタ名が表示される。(★)

左側メニューからアダプター設定の変更
インターネットに接続されているアダプタを選択し、右クリック→プロパティ

共有タブで「ネットワークのほかのユーザーに、このコンピューターのインターネット接続をとおしての接続を許可する(N)」にチェックを入れ、その下にある、ホームネットワーク接続で、上記(★)の箇所で表示されたアダプタ名を選択し「OK」ボタンを押す。

ルーティングを行う

スタートメニューのWindows管理ツール→サービス
Routing and Remote Access を開始

WebSocketでIllegalStateException[TEXT_FULL_WRITING]が出力された時

以下を試してみよう。

  • sendText() を使用するメソッドを1箇所にまとめ、synchronizedを付ける


複数スレッドからgetBasicRemote()やgetAsyncRemote()を呼び出されると

java.lang.IllegalStateException: The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid state for called method

が出力される模様(詳細は不明)

WebSocketサンプルメモ(参照のみ)

WebSocket

以下のサイトがわかりやすい
http://qiita.com/opengl-8080/items/7ca8484c8579d264e239

準備
EclipseJ2EE版をダウンロード+インストール


流れ
①サーバ側実装
②クライアント側実装
③実行

WebSocket側からHTTPSessionを取得する方法

以下のサイトがわかりやすい
http://ima-ryu.hatenablog.com/entry/2014/10/15/221657

流れ
①ServerEndpointConfig.Configuratorの実装
②サーバ側実装の@ServerEndpointの記述を修正(configuratorを指定する)
③onOpenメソッド内でconfigからHTTPSessionを取得

新潟県周り

mswin32版RubyのWEBrickをSSL化する際のメモ

用意するもの

  • Ruby1.9.2のmswin32版のバイナリ。ファイル名「ruby-1.9.2-p136-i386-mswin32.zip」
  • OpenSSL付きApache2.2.17。ファイル名「httpd-2.2.17-win32-x86-openssl-0.9.8o.msi

作業メモ

  • ruby-1.9.2-p136-i386-mswin32.zip」を展開し、「C:\ruby-1.9.2-p136-i386-mswin32」に展開する。(場所は任意。どこでも良い。)
  • httpd-2.2.17-win32-x86-openssl-0.9.8o.msi」をインストール。
    • DLLを取り出すだけなのでデフォルトで適当にインストール。
  • 「C:\Program Files\Apache Software Foundation\Apache2.2\bin」から「libeay32.dll」,「ssleay32.dll」,「zlib1.dll」の3つのDLLを「C:\ruby-1.9.2-p136-i386-mswin32\bin」にコピー
  • 作業のフォルダとして「C:\ruby\temp」フォルダを作成。
  • 「C:\ruby\temp」の下に「https.rb」というファイル名でプログラム作成。ソースは以下の通り。
require 'webrick'
require 'webrick/https'

server = WEBrick::HTTPServer.new({
  :DocumentRoot=>"c:/ruby/temp/",
  :Port=>443,
  :SSLEnable=>true,
  :SSLCertName=>[ [ "C","JP"],["O","hoge"] ],
})

['INT'].each {|signal|
  Signal.trap(signal){ server.shutdown }
}

server.start
  • PATHを通すのが面倒なので、「start.bat」という名前で以下の内容のファイルを作成。
    • PATHに指定するのはrubyを展開したフォルダにある「bin」フォルダ。
set PATH=C:\ruby-1.9.2-p136-i386-mswin32\bin;%PATH%
ruby -v
cmd /k ruby https.rb
  • 「start.bat」を実行すれば起動する。ブラウザで「https:/localhost/」にアクセスし、動作を確認。

1.8.7系について

  • 同様の方法でruby-1.8.7-p330-i386-mswin32でも動作することを確認。