Javaの最近のブログ記事

Perl cgi sample for dynamic generate of Java Jnlp.

Perl cgi から、Java Jnlp を吐き出すサンプル プログラム を作ってみました。

一番最初に、
Content-type: application/x-java-jnlp-file;charset=utf-8\n\n
を吐き出せばOKです。

興味のある方らこちらからどうぞ。

Java socket keep-alive 使いかた

Java socke keep-alive (http protocol response)の使いかたについて。

Java http server の Keep-alive による Http Responsse の返し方に関して、
大雑把な説明ですが、参考になればと思い書いてみました。

重要な点は、3箇所だけです。

1. server socket のKeepAlive の設定
Socket sock = servsock.accept();
sock.setKeepAlive(true); // this is important No.1

2.http response ヘッダーの特に2か所の記述 Content-Length:xxx と 注1)Connection: Keep-Alive です。
注1) HTTP 1.1 では、必要ないみたい。
HTTP/1.1 200 OK\r\n or HTTP/1.0 200 OK\r\n
Date: xxxxx\r\n
Server: xxxxx\r\n
Content-Length: body-size\r\n // "body-size" is very important No.2
Keep-Alive: timeout=5, max=20\r\n // timeout -> sec ,here is a little important
Connection: Keep-Alive\r\n // here is important No.3 , but if HTTP 1.1 no need
Content-type: text/html\r\n\r\n

body-size は、実際の長さに必ず合わせます。(これが、今回、一番重要です!)
htmlや画像ファイルなどは、ファイルサイズが最初から分かるから問題ないのですが、
perl CGI の出力を受ける場合は、大変です。
CGIの出力データを一度バッファに取り込んで、最終の長さを計算するか、チャンクに分割してその都度送信するかだと思います。
apache のHTTPレスポンスを見ると、チャンクでは無いように見えますが!

Raspberry Pi Java http server

Raspberry Pi (Raspbian) で動く 簡単な Java http サーバーを作ってみました。

同一ネットワーク上の、PCのブラウザーから、このRaspberry pi のJava Http サーバーにアクセスして、サーバー上のJava プログラム(Java CGI プログラム。java class と java main programの2種類の実行方法があります)を直接実行して、その結果を、PCのブラウザーで確認できます。

通常のHTMLや画像ファイルも表示できますし、
Raspi のGPIOにつなげたLEDのLEDチカチカテスト、や 1-wire温度センサー(DS18B20) の値の読み取りを、サーバー(Raspberry Pi)上の Java プログラムで、実行して、その結果を、表示できます。
又、リーモートPCのブラウザーから、Raspberry piをシャットダウンできる、Java cgiもサンプル追加しました(H26.1.14)。
perl cgi の実行機能も追加しました。(H26.1.26)
java class のプリロード機能も追加しました。(H26.1.30)
java class の都度ロードより少しは早いみたいです。

興味のある方は、こちらからダウンロードしてください。
Ras-pi java http server

このアーカイブについて

このページには、過去に書かれたブログ記事のうちJavaカテゴリに属しているものが含まれています。

前のカテゴリはIMUです。

次のカテゴリはJetson Nanoです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

ウェブページ

サイトナビ