0

私が取り組んでいるプロジェクトでNettyを使用することにかなり興奮していますが、迅速に対応するために多くのプレッシャーがかかっています。私は経験豊富なJavaプログラマーですが、クライアントサーバーシステムの作成経験はあまりありません。

私はnettyの例を使って作業していますが、それらを適切に実行する方法についてのドキュメントがあまりないことがわかりました。確かに、ソースコードを掘り下げることは有用ですが、HttpStaticFileServerに到達したとき、私はそのアプローチで壁にぶつかりました。クライアントリクエストはおそらくtelnetからのものですが、ファイルリクエスト自体の形式がわからないため、いくつか試してみました。ハンドラコーデックはそれをまったく明確にしません。したがって、一般的に、例の実行方法に関する一連の指示があると便利です。デバッガーでプロセス全体を監視することを約束します。これにより、正確に何が起こっているかを追跡できます。したがって、少なくとも今のところ、FileServerの簡単な例をいただければ幸いです。私が構築したいアプリケーションは、私が疑うものから構築されます。助けてくれてありがとう!

4

2 に答える 2

1

HttpStaticFileServer は、ファイル システムからファイルを提供します。

HttpStaticFileServerHandler..sanitizeUri() を参照してください。これは、ブラウザに入力した仮想パスを物理パスにマップする場所です。

にマップhttp://localhost:8080/afile.txtされ~/afile.txtます。そこに afile.txt を置くだけで、ブラウザに表示されるはずです。

最初にSnoopの例を試してみてください。私はEclipseでnettyをロードし(JDK7を使用することを忘れないでください)、サンプルアプリを実行/デバッグします。

于 2012-06-21T23:39:15.890 に答える
0

Eclipse を使用して Windows で HttpStaticFileServer を実行しました。


この例をテストするには、次の簡単な手順に従います。

  1. サーバーを実行する
  2. Web ブラウザに次のように入力します: localhost:8080/file.ext (file.ext を自分のファイルに置き換えます)

ファイルはSystem.getProperty("user.dir")

ここでそれがどのように機能するかについての答えを見てください

私にとっては、Eclipseワークスペースディレクトリを指しています。そのため、ワークスペースを使用するか、sanitizeUri(String uri)メソッドを変更して次のHttpStaticFileServerHandler値を返します。

 rootPath + File.separator + uri;

それ以外の

 return System.getProperty("user.dir") + File.separator + uri;

ここで、rootPath はファイル サーバーのルート ディレクトリへのパスです。

于 2012-08-10T15:31:35.550 に答える