はじめに 『Javaによる簡易HTTPサーバーの作成』第4回目の今回は、クライアントとの通信に、これまで利用してきたSocketではなく、NIOで提供されるSocketChannelを利用します。 Socketでは、実際の入出力にはStreamを利用します。この時、例えばInputStream#readを呼び出すと、データが読み込み可能になるか例外になるまではreadメソッドから制御が戻りません。そのため、同時に複数のクライアントからの要求を処理するためには、クライアントごとにスレッドを利用する必要がありました。 これに対して、SocketChannelを非ブロックモードで利用すると、まだデータが到達していない、あるいはシステムの送信用バッファがフルになっているなどの理由でデータを転送できない時には、制御が呼び出し側に戻されます(これをJ2SEのAPIドキュメントでは「非ブロック接続」と呼
はじめに 『簡単なHTTPサーバの自作』第5回目の今回は、クライアントとの通信に、ブラウザ自身によるリクエスト/レスポンスに加えてAjaxとCometを利用した簡単なチャットアプリケーションを実装します。 Webアプリケーションでチャットを実装する場合に考えなければならないのは、他の発言者のメッセージをどうやってブラウザへ反映させるかです。自分が発言する場合は、サーバへ対してメッセージが送信されます。従って応答データに現時点の発言を返せば済みます。しかし、この方法だけでは他の参加者の発言を発言時に読むことはできません。 この問題を解決する手段は複数あります。 次の図は最も原始的ですが、確実な『F5連打法』を図示したものです。 F5連打法では、ユーザーは最新の発言がありそうだと感じた時に[F5]を叩きます。するとブラウザが最新の情報をサーバへ取りに行くため、もし発言が更新されていればその情報
いつの頃からか、アプレットを起動すると以下のエラーが発生するようになった。 「Java Runtime Environmentは <\bin\server\jvm.dll>からロードすることができません。」SunのBugDatabaseにBugID:5013503として登録されている模様。 Workaroundに従い、C:\Documents and Settings\[USER NAME]\Application Data\Sun\Java\Deployment\deployment.propertiesを削除することで解決。 deployment.propertiesにJREのパスが記述されているが、インストールとアンインストールを繰り返すうち、古いパスのままになっていたことが原因だったようだ。
本記事は2004年に執筆されたものです。EJB、JBoss全般の最新情報は@IT Java Solutuionのカテゴリ「EJB(エンタープライズJavaBeans)」をご参照ください。 企業システムの常識をJBossで身につける New! 企業向けアプリケーションのさまざまな“常識”をJavaのオープンソース・フレームワーク群である「JBoss」から学んでいきましょう。企業システムを構築するうえでの基礎となる知識をリファレンス感覚で説明していきます。初心者から中堅、ベテランまで大歓迎! 皆さん、最初に以下の質問の答えを考えてください。 Q1:J2EEを構成する主要なテクノロジを挙げてください Q2:J2EEを構成するテクノロジの中で使ったことがあるものを挙げてください Q3:これらのテクノロジの中で次に使いたいものを挙げてください Q1の答えとして、通常Servlet/JSP、EJB、J
Jettyは21日現在、最新の開発ブランチを6系(旧 Jetty Experimental)とし、開発段階にある。Jettyは100% Javaで開発されたHTTPサーバおよびServletコンテナ。Apache License Version 2.0のもとオープンソースソフトウェアとして公開されている。Jettyには軽量で高速に動作するという特徴がある。 オープンソースソフトウェアにおけるServletコンテナとしては実質的にTomcatがデファクトスタンダードの位置づけにある。WebサーバにはApacheを採用し、ServletコンテナにはTomcatを採用。お互いをApache Tomcat mod_jkサーバコネクタで接続して運用するというスタイルをとることが多い。 JettyではJettyでWebサーバとしての特徴もServletコンテナとしての特徴も兼ね備えることで、サーバコン
さて、お待たせしました。いよいよCometとLingrについての技術解説です。 ■Comet解説 さて、まずはCometとは何で、どういう背景によって生まれたのか、についての解説から始めます。 まず前提として、Webアプリケーションにおいては、通信開始のトリガーは常にクライアント側が握っています。つまりURLを入力したりボタンをクリックしたときなどに通信が発生することになるわけですが、このようなアーキテクチャは、サーバ側で発生した変化をリアルタイムにクライアント側に通知することが原理的にできないことを意味します。 チャット・アプリケーションでは、複数のユーザから不定期にメッセージが送信され、それが他の参加者に一斉に配信されなければなりません。しかし、メッセージを受け取ったサーバ側では、それをクライアントに即座にプッシュで通知する方法がないのです。 そのため、一定期間ごとにブラウザがサーバに
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 2chでJavaが動かないという方がいるのでレスしたついでにこっちにも書いておく(違うかも知れんけど・・・) JRE1.6を入れた環境でJavaアプレットが動かないことがあります。 原因は「msvcr71.dll」が見つからない為。 ここからDLして、\system32\wbemに置いてやるとOperaが認識してくれて正常にJavaアプレットが起動するはず。(\system32でもいいのかな?やってないけど...) DLしなくてもPC内で検索してみるとJRE1.6をインストールしている場合、通常は\Program Files\Java\jre1.6.0_01\binにあるはず。問題は置き場所。 私もこれでこの前嵌りました。JRE1.5だと問題ないんだけどね・・・ 以上、走り書き。
\閉鎖予定のサイトも売れるかも?/ アクセスがないサイトもコンテンツ価値で売れる場合も… ドメインの有効期限を更新してサイト売却にトライしてみましょう
クリップクロウ合同会社として、noteを始めました。放置気味だったこのブログは、そのまま放置で、新たにnoteで以前のように思うことを書いていけたらと思います。 note.com 突如、今年流行の「今年買ってよかったもの」を久しぶりの記事として書いてみます。 #10: T-falの電気ケトル www.t-fal.co.jp Covid-19で家に籠りオフィスに出勤しない日々が続くと食事や間食など口にするものも変わってきました。第一、腹が減らないので摂食量や回数が減り、次いで通勤がなくなって飲み会もなくなると単純に自由時間が増え、これら相乗して一回あたりの手間というか暇が増えて手がかけられるようになってきます。どうせならちょっと凝ってみようと一手間かけて口に入るものを用意するのも気分転換に有効なようです。 私はコーヒーを日に何杯も飲む質で、今年の始めまでオフィスに出てた時には常に自販機やペッ
東京サテライト校閉鎖のお知らせ 本学では、東京サテライト校を設置しておりましたが、2012年度の当サテライト校の編入学生募集停止に伴い、2013年3月をもって校舎を閉鎖いたしますので、お知らせいたします。 2005年からのサテライト校設置・運営にあたり、多くの皆様からのご支援いただきありがとうございました。 なお、ご連絡・郵便物等は下記稚内校へお願いいたします。 お問い合わせ 稚内北星学園大学 097-0013 北海道稚内市若葉台1丁目2290番28 Tel: 0162-32-7511 FAX: 0162-32-7500 フリーダイアル: 0120-311014 メール : info@wakhok.ac.jp
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます Ruby/Railsにも対応するNetBeans 6.0 NetBeans 6.0の大きな特徴の1つとして、スクリプト言語RubyおよびRubyによるWebアプリケーションフレームワークRuby on Railsに対応していることが挙げられる。 RailsはRubyという言語の持つ柔軟さと強力さを最大限に活かした生産性の高いフレームワークとして注目を集めている。NetBeans 6.0の現在入手可能なプレビュー版(M9)はJava開発に関する基本機能のみの「Basic」、Web開発やモバイル開発をサポートした「Standard」、フルセットの「Full」と3種類のインストーラが提供されているが、Fullバージョンには標準でRuby/Ra
Apache Hadoop The Apache® Hadoop® project develops open-source software for reliable, scalable, distributed computing. The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation an
読者のみなさま ずっとストップしていました「初歩のUML」。第4回をお待ちになっていた方々には、大変ご迷惑をおかけしました。このたび@IT編集局と協議した結果、「初歩のUML」を12回程度の本格的な連載にすることになりました。そこで、第1回~第3回の改訂したものを2月中にリリースし、第4回を3月初旬にリリースすることにしました。 第4回では、モデルのJavaによる実装についてお話する予定でしたが、連載改訂案ではまず、言語から離れた形でモデリングの本質を理解していただき、その後UMLとJavaのマッピングについても取り上げるように考えております。 本連載では、UMLの表記法を説明するというよりも、モデリングの本質的な目的と意義・効果を通して、必要性を理解していただくことを目標とします。どうぞこれからも初歩のUMLをお楽しみください。 萩本順三 UML(Unified Modeling Lan
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く