|
Виж темите без отговор | Виж активните теми
Дата и час: Пет Авг 21, 2026 9:07 am
|
Страница 1 от 1
|
[ 11 мнения ] |
|
| Автор |
Съобщение |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
 TCP сървър на JAVA
Някой може ли да обясни с няколко думи как може да се накара TCP сървър(Java) да върне файл(например jpg или pdf)? Искам да извиквам от браузъра: http://localhost:8080/test.pdf, при което да се отваря въпросния файл. Имам инсталиран Tomcat, който е конфигуриран на порт 8080. Единственото, което не знам е, как в самия сървър да пренасоча към файла. Например, да преправя този код, с GET да връща test.pdf: import java.io.*; import java.net.*;
class TCPServer { public static void main(String argv[]) throws Exception { String clientSentence; String capitalizedSentence; ServerSocket welcomeSocket = new ServerSocket(8080);
while(true) { Socket connectionSocket = welcomeSocket.accept(); BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream())); DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream()); clientSentence = inFromClient.readLine(); System.out.println("Received: " + clientSentence); capitalizedSentence = clientSentence.toUpperCase() + '\n'; outToClient.writeBytes(capitalizedSentence); } } }
|
| Пон Апр 30, 2012 12:30 pm |
|
 |
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 9:59 pm Мнения: 6019 Местоположение: София
|
 Re: TCP сървър на JAVA
_________________ Warriors of the Night, ASSEMBLER!!!
|
| Пон Апр 30, 2012 2:52 pm |
|
 |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
 Re: TCP сървър на JAVA
Трябва ми TCP. Но нещо не успявам да намеря пример, удобен за адаптиране.
|
| Пон Апр 30, 2012 3:42 pm |
|
 |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
 Re: TCP сървър на JAVA
Успях с предходната част. Сега искам index.html да включва автоматично връщане на определен вид файлове в текущата директория(например, .doc). Целта е да се обновява автоматично списъкът, когато изтрия или добавя файл.
|
| Съб Май 12, 2012 5:13 pm |
|
 |
|
NikB
Ранг: Почетен член
Регистриран на: Съб Сеп 25, 2004 10:32 pm Мнения: 710
|
 Re: TCP сървър на JAVA
И какъв е проблема като получиш в сървъра заявка за index.html: - да изчетеш файловете в папката; - да си направиш списъка; - да го форматираш HTML; - да му сложиш хедъра; - и да го върнеш като отговор? Екстрите - после (по-добре ще бъде списъка с файловете да е предварително направен, но ефективните начини, които знам, са зависими от ОС - MSDN ReadDirectoryChangesW function )
|
| Съб Май 12, 2012 8:27 pm |
|
 |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
 Re: TCP сървър на JAVA
Май не го обясних много добре... Искам в index.html да се променя автоматично списъкът с файловете, които се предлагат. С доста ровене стигнах до един пример, който използва аплет за целта, като има няколко ограничения. Обаче се зарежда и реално не действа. Става дума за това: http://www.rgagnon.com/javadetails/java-0185.htmlПо самия сървър, който симулирам имам следния въпрос: Когато го тестам от компютъра, на който е инсталиран - работи. Опитвам се отдалечено да пристъпя чрез IP/index.html, но ми връща 404, което тълкувам, че намира сървъра, но не и файла. Къде го търси? В папката, в от която се стартира сървъра ли и защо се получава това?(деактивирам Firewall при тестовете). (Имайте предвид, че с Java се занимавам съвсем отскоро)
|
| Нед Май 13, 2012 1:17 am |
|
 |
|
NikB
Ранг: Почетен член
Регистриран на: Съб Сеп 25, 2004 10:32 pm Мнения: 710
|
 Re: TCP сървър на JAVA
Много добре си го обяснил и се надявам и аз да съм отговорил добре, чудно, защо не ми вярваш  Нали това съм написал: - сървърът ти получава заявка за index.html - сървърът ти изчита списъка с файловете в папката - прави списъка с файловете в html формат (прикачам пример) - праща го като отговор. Какво толкова?
|
| Нед Май 13, 2012 10:29 am |
|
 |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
 Re: TCP сървър на JAVA
Ще трябва да се откажа от това, доколкото виждам. Едва накарах сървъра да тръгне, сега ако трябва да си "приказва" с index...
|
| Нед Май 13, 2012 1:48 pm |
|
 |
|
NikB
Ранг: Почетен член
Регистриран на: Съб Сеп 25, 2004 10:32 pm Мнения: 710
|
 Re: TCP сървър на JAVA
Стига глупости!  Всеки амбициозен десетокласник може да напише подобно нещо, ако има кой да му направи сървъра. Не се отказвай.
|
| Нед Май 13, 2012 1:58 pm |
|
 |
|
E1
Ранг: Почетен член
Регистриран на: Нед Юли 22, 2007 8:57 pm Мнения: 607 Местоположение: Белград
|
 Re: TCP сървър на JAVA
Сървър имам. Знам как да открия кой файл се иска, но вече три дни стоя до 3-4 сутринта, а не мога да намеря код за сортиране, който да връща листинг на файловете в директорията. Вярно, че търсех за клиентската страна, но ми идва в повече да започна ровенето отначало за сървърната страна. На всичко отгоре, идея си нямам как да вкарам върнатото от сървъра в HTML. Ще ми трябват още няколко дни за това. И всичко само за идеята. Принципно, не обичам да се отказвам, но като сложа на везната, че нищо не получавам от цялата операция(освен да си погъделичкам самолюбието)...
|
| Нед Май 13, 2012 2:29 pm |
|
 |
|
NikB
Ранг: Почетен член
Регистриран на: Съб Сеп 25, 2004 10:32 pm Мнения: 710
|
 Re: TCP сървър на JAVA
Аз не работя на Java (имам сложен един еклипс, ама не съм го изучил  ), но принципно, щом пишеш на Java, за задачата ти няма значение дали е сървърна или клиентска страна - файловите операции не би трябвало да зависят от ОС. Значи: 1. Когато в сървъра получиш заявка за Index.html - изпрати към клиента нещо свое (например само текста "Proba"). 2. След това виж как се прави списък от наличните файлове (на мен ще ми отнеме час, да ти го направя на Java - 100% го има в нета, но след 10м започва F1 от Барселоба  ) 3. Обходи списъка с файловете и от името на всеки файл формирай елемент от списък (или от таблица или div) на HTML и получения стринг (или масив от стрингове) го прати към клиента
|
| Нед Май 13, 2012 2:44 pm |
|
|
|
Страница 1 от 1
|
[ 11 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 4 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|