2012-06-20 4 views
0

Я очень рад использованию Netty в проекте, над которым я работаю, но под большим давлением, чтобы быстро дойти до скорости. Я опытный Java-программист, но у меня нет большого опыта написания клиент-серверных систем.Запуск Netty HttpStaticFileServer пример

Я работаю по примерам netty, но обнаруживаю, что документации по их правильному запуску мало. По общему признанию, полезно копать через исходный код, но я попал в стену с таким подходом, когда попал на HttpStaticFileServer. Запрос клиента, предположительно, из telnet, но я не знаю, какой формат для самого запроса файла, и я попробовал несколько. Код кодека Handler не делает его совершенно ясным. В общем, было бы неплохо, если бы был набор инструкций о том, как запустить пример. Я обещаю, что буду следить за всем процессом в отладчике, поэтому я могу следить за тем, что именно происходит. Поэтому на данный момент, по крайней мере, я бы оценил простой пример для FileServer. Приложение, которое я хочу построить, будет создано из того, что я подозреваю. Спасибо за помощь!

+0

Я также пробовал использовать браузер, выполнив мой запрос, выбрав URL-адрес: http://127.0.0.1:8080. Это дает мне Forbidden 403. Извините ... Я чувствую, что это какая-то церемония посвящения, и я думаю, что я потерпел неудачу. Но простой пример из одной строки ДЕЙСТВИТЕЛЬНО поможет ... – user1470481

+1

Я перешел на HttpUploadServer и смог понять, что один из них ... так же, как предложение в документации для этого примера, добавьте описание примера аргумента UploadClient " HTTP: // localhost: 8080//c:/test.txt " – user1470481

ответ

1

HttpStaticFileServer будет обслуживать файлы из вашей файловой системы.

См. HttpStaticFileServerHandler..sanitizeUri(). Здесь он сопоставляет виртуальный путь, который вы вводите в браузер, в физический путь.

So http://localhost:8080/afile.txt будет отображаться на ~/afile.txt. Просто поместите файл afile.txt и он появится в вашем браузере.

Прежде всего, вы можете попробовать пример Snoop. Я загружаю netty в eclipse (не забудьте использовать JDK7) и запускать/отлаживать пример приложения.

0

Я запускал HttpStaticFileServer в Windows с Eclipse.


Чтобы проверить пример следующие простые шаги:

  1. запустить сервер
  2. типа в веб-браузере: локальный: 8080/file.ext Соответственно, (замените file.ext с файлом)

файл должен быть в System.getProperty("user.dir")

См. Ответ о том, как это работает here

Для меня это указывает на каталог рабочего пространства затмения. Таким образом, эфир использовать рабочее пространство или изменить метод sanitizeUri(String uri) в HttpStaticFileServerHandler вернуться:

rootPath + File.separator + uri; 

вместо

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

где ROOTPATH ​​путь к корневой папке файлового сервера.

Смежные вопросы