• ベストアンサー

JAVA初心者で申し訳ございません。

JAVA初心者で申し訳ございません。 クライアントとサーバにそれぞれJAVAプログラムがあるとします。 (1)クライアントのJAVAプログラムである情報を取得し、 (2)その情報をサーバにあるJAVAプログラムに渡して (3)サーバのJAVAプログラムでその情報を処理したい(ログ出力など)。 (2)の方法は、どのようなものがあるのでしょうか? 初心者なので簡単な方法を教えていただけないでしょうか? (セキュリティとか気にしないでよいです。) サーバ側にHTTPサーバをたててHTTP通信する方法なんかもあるのでしょうか?

  • Java
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

されようとしている目的がよく分からないのですが、単純にJavaプログラム間(当然別々のPC)で通信したいのであれば、RMIと言うものがあります。 Javaの実装なのでJavaオブジェクトのみでの適用です。 題記のケースであれば、Stringクラスにデータ(文字列)を詰め込んで送ってしまえばよいと思われます。 一応、RMIで使用する通信ポートを指定することが出来ます。

j-m-n-k
質問者

補足

RMIでやってみます。ありがとうございました。

その他の回答 (1)

  • BuriBuri4
  • ベストアンサー率28% (150/525)
回答No.1

サーバ側にTomcat入れてサーバ側のJavaプログラムはServletにすれば良い。 一冊入門書を買ったほうが良いと思うけど http://www.amazon.co.jp/dp/479734041X Netで済ませたければ解説してるところは色々あります http://www.javadrive.jp/servlet/

関連するQ&A

  • java初心者です。

    ソケットクラスを用いて入力ファイルの内容をWebサーバへ送信し、サーバからの応答を別ファイルに出力するクライアントプログラムを作りたいのですが、わからないです。 ソケットクラスを使うので送受信はバイト型でやらないといけないと聞きました。 入力ファイルの内容(HTTPリクエスト)をバイト型に変換して、それを送信するにはどのようなプログラムになりますか? できれば詳しく教えていただきたいです。

  • ルータ越え環境でのRMI通信実現方法について(java-rmi.cgi取得方法)

    RMIサーバ(RMIレジストリ起動)、クライアントが異セグメント上にある場合の 通信実現方法についての質問です。 実行環境において、使用ポートに制限がかけられており、 Socketによる直接通信では、エラーが発生してしまいます。 ※ポートを全解放すると通信可能。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ java.rmi.ConnectIOException: Exception creating connection to: <RMIサーバIP> ; nested exception is: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ そこで、Socketによる直接通信から、HTTPプロトコルに組み入れ、RMIサーバのポートへ直接接続 する方法を試みたところ(sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket() をオーバライドするサブクラスを作成)、今度は以下のエラーが発生してしまいました。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ サーバ上のアクセスログ、エラーログは以下の通りです。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ※アクセスログ <クライアントIP> - - [16/Dec/2007:20:25:30 +0900] "POST /cgi-bin/java-rmi.cgi?forward=3005 HTTP/1.1" 404 226 ※エラーログ [Sun Dec 16 20:25:30 2007] [error] [client クライアントIP] (2)No such file or directory: script not found or unable to stat: c:/interstage/f3fmihs/cgi-bin/java-rmi.cgi ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 以上のログから、"java-rmi.cgi"スクリプトをサーバのc:/interstage/f3fmihs/cgi-binに展開すれば、通信できるのでは ないかと考えています。 SDKが提供しているものだとは思いますが、取得方法がわかりません。 取得方法について、ご教示お願い致します。 ※環境は以下の通りです。 サーバOS:Windows Server 2003(R2) Webサーバ:Interstage Application Server SE SL クライアント:WindowsXP

  • JAVA初心者です。JAVAで音を鳴らすプログラム

    JAVA初心者です。JAVAでボタンを作り、ボタンをクリックすると音が鳴るというプログラムを作りたいのですが、宣言とか処理とかをどうやって書けば良いのかわかりません…。アドバイスお願いします。

    • ベストアンサー
    • Java
  • サーバからクライアントにポート番号を指定する方法

    java初心者です。 現在javaを使ってサーバとクライアントのsocketプログラムを作っています。 動作としてはサーバ側がクライアントに対して接続するポートを指定し、以後クライアントがサーバに対して通信を行う際には指定されたポート番号を使って通信を行うような動作をさせたいのですがうまくいきません。 そのため、みなさんの知恵を拝借したいのですが、アドバイス等頂けないでしょうか。 また、javaでは実現不可能だとするのでしたら、その理由も詳しく教えていただけると幸いです。 どうぞよろしくお願いします。

    • ベストアンサー
    • Java
  • Java初心者です。

    Java初心者です。 デスクトップ等のPC画面内をクリックしたときに、クリックしたよというフラグを取得したいのですが、さっぱりわかりません。 ネットで検索しても、Javaで用意したコンポーネント上をクリックしたというフラグは拾えるのは多数紹介されているのですが・・・(探し方が悪いのかも)。 また、クリックしたところの座標も取得できるようにするつもりです。(←これは、getPointerInfo()で解決できると思っています) お手数ですが、どうぞご教授お願い致します。

    • ベストアンサー
    • Java
  • HTTP通信の詳細を知りたい

    PHPで他ドメインのページの情報を取得しています。 その際に、HTTP通信のリクエストヘッダ、レスポンスヘッダの詳細を見たいです。 イメージとしては、firefoxの「firebug」とか「live http header」で取得できる情報量がほしいです。 現在、http通信でhttp_clientを使っています。 http_clientのcurrentResponse()でレスポンスは取得できるのですが、 クッキー情報などが入っていないです。 一番知りたいのは、リクエストヘッダです。 PHPを設置しているサーバーからどのようなリクエストヘッダを送っているのかを知りたいです。 というのは、設置しているサーバーによって同じページにリクエストを送っているのに、返ってくる情報が変わるときがあります。 PHPプログラムは全く同じです。 サーバーはさくらインターネットの共有サーバーを3つ契約しており、 3つのサーバーに同じプログラムを置いてHTTP通信しているのですが、 取得できる情報が異なっていて困っています。 恐らく、リクエストの何かが違っていると思うのでそれを調べたいと思って 質問しました。 そもそも原因が違うところにありそうであればアドバイスもお願いします。 よろしくお願いします。

    • 締切済み
    • PHP
  • Java初心者は何から作るべきか

    こんにちは 私は最近SEとして働き始めたものです。 文系大学出身ということもあり、当初「プログラム?Java?なにそれ、おいしいの?」というレベルでしたが、勉強してなんとかSJC-P資格取得するとこまではこぎつけました。 しかし、これまで机上の勉強ばかりで、アプリケーション製造などを行ったことはないので、自分でいろいろプログラムを作って体でJavaを覚えていきたいと考えています。 そこで、お聞きしたいのですがJavaで初心者がつくるアプリケーションといえばどんなものがあるでしょうか? できれば、具体的に「こんなものを作ってみよう!」というような書籍やサイトを紹介して頂けると助かります。Javaの構文についての書籍はたくさん見つかるのですが、具体的に掲示板を作ってみようとかチャットを作ってみようとか、そういった書籍が見当たらないので困っています。 よろしくお願いいたします。

  • Java初心者です。例外のキャッチについて

    ■行いたこと log4jを使用してログ出力した際に、ファイルIOなどの例外が発生した場合を想定しその際に発生した例外(IOException)をキャッチして、ログ出力時にファイルIOに失敗したことを通知できるようにしたい。 ■問題 IOExceptionが発生しているようですが(下記メッセージ参照)なぜか自分のところ(プログラム)でキャッチできない。 クラスBBB メソッドbbb try { AAAクラス.メソッドaaa   ←AAAクラスのログ出力                メソッドを実行 }catch ( IOException e ) { ログ出力に失敗       ←なぜかIOExceptionを                キャッチしない。。。 } クラスAAA log = Loggerクラスのインスタンス purblic メソッドaaa throws IOException log.info("メッセージ") ←log4jのメソッドを実行 ************************************************** log4j:ERROR Failed to flush writer, java.io.IOException: 予期しないネットワークエラーが発生しました。  at java.io.FileOutputStream.writebytes(Native Method)  at java.io.FileOutputStream.write(Unknown Sorce)  at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(Unknown Sorce) 中略  at org.apache.log4j.Category.forcedLog(Category.java:372)  at org.apache.log4j.Category.info(Category.java:372)  at AAA.aaa()  at BBB.bbb() ■環境は以下のとおりです。  OS:WindowsXP  開発環境:Eclipse3.0  JAVA:J2SDK 1.4.2_06 ■疑問 なぜキャッチしてくれないか? どう対処してよいか分かりません。 どなたか教えてください。

  • [Java]プログラミング初心者なため解りません。

    はじめまして。 大学でJavaの課題を出されたのですが、プログラミング初心者なため方法がわかりません。どなたか助けていただきたいです。 課題 まず、以下のようなファイル(test.dat)を作成する 1 2 3 4 5 6 7 8 9 10 このファイルを読み込み、次のような結果をファイル(kekka.dat)として出力するプログラムを作成せよ。 1 + 2 = 3 3 + 4 = 7 5 + 6 = 11 7 + 8 = 15 9 + 10 = 19 なんとか自力でファイルの入出力を行うことはできたのですが、文字列を操作して出力する方法がわかりません。 どなたか教えていただけないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Java
  • アプレットからサーバ側のプログラムを起動したいのですが…

    仕事でJavaを使うことになったのですが、プロジェクト員一同Java初心者で、必死にJavaを勉強していますが、以下のことで困っています。申し訳ありません。助けてください。 UNIXサーバ側の設定とかをいじるプログラムがあるのですが、それをアプレットにして、SEさんがリモートからでも操作出来るようにしろ、と言われました。 とりあえず、Javaアプレットからサーバ側(アプレットのクラスが置いてあるのと同じマシン)のCプログラムを起動し、その結果を受け取るようにしたいのですが、Java経験者に相談したら「アプレットにはセキュリティ上の問題があるのでCGIかServletを使わないと出来ない」と言われました。 では…とServletの勉強を初め、サーバー側にServletEngineをいれてみたのですが、 ServletはHTTPポートと違うポート(8000番とか)を開けてそこにアクセスしなくてはいけないようにみえます。それならクライアント側プログラムをアプレットにし、サーバ側プログラムとSocket通信で結び、サーバ側プログラムがCプログラムを起動、としたほうが楽そうですが、ひとつしかポートを開きたくないと言われたのです。 もしかして「アプレット+Servlet が アプレット+CGI相当」じゃなく「Servlet が アプレット+CGI相当」なのでServlet用のポートだけ開けとけばいいとかいうことでしょうか?  とか思っていたら、JNIでC言語のメソッドをJavaメソッド扱いするとかいう話も小耳に挟みました。それでできるのかしら? ・webポートだけを開いて ・サーバ側のCプログラムを起動してその結果を受け取る ・クライアントのマシンにあらかじめインストールしなくても、ブラウザからアクセスすると操作が対話的に出来るような ものを簡単に作ろうとしたら、一体何を勉強するべきなのでしょうか…。 Applet+CGI? Applet+Servlet? RMI? JNI…? 助けてください…(TT)

    • ベストアンサー
    • Java

専門家に質問してみよう