Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Сокеты / 6 сообщений из 6, страница 1 из 1
01.02.2006, 23:19
    #33517651
Sherst
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты
Привет всем!

Проблема в организации обмена между компами html-файлами(сеть локальная).Кто-нить знает как в выходной поток сервера (DataOutputStream) записать html-файл и папку с рисунками для html-страницы, а
на стороне клиента соответственно прочитать это.

Вот приблизительный начальный код

Сервер:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 public   class  Server {
   public   static   void  main(String[] args){
     try  {
      ServerSocket ss =  new  ServerSocket( 8189 );
      Socket incoming = ss.accept(); //Ожидаем подключение клиента к заданному порту

      DataInputStream dataIn =  new  DataInputStream( new   BufferedInputStream(incoming.getInputStream()));
      DataOutputStream dataOut =  new  DataOutputStream( new   BufferedOutputStream(incoming.getOutputStream()));  

      //Здесь как-то поместить файлы в выходной поток dataOut.write(...)

      dataIn.close();
      dataOut.close();
      incoming.close();
      ss.close();
    }
     catch (Exception ex) {
    }
  }
}

Клиент:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 public   class  Client {
   public   static   void  main(String[] args){
  //...................//
        Socket s =  new  Socket("localhost", 8189 );
	DataInputStream dataIn =  new  DataInputStream( new  BufferedInputStream(s.getInputStream()));
	DataOutputStream dataOut =  new  DataOutputStream( new  BufferedOutputStream(s.getOutputStream()));
	
      //Здесь как-то прочитать входной поток dataIn.read(...)
  }
}


Заранее спасибо.
...
Рейтинг: 0 / 0
01.02.2006, 23:43
    #33517668
апач
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты
может стоит взять нормальный нттр сервер? например апач
...
Рейтинг: 0 / 0
02.02.2006, 08:48
    #33517894
Sherst
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты
апач
может стоит взять нормальный нттр сервер? например апач

Хотелось бы сделать в лоб без нттр сервера.
...
Рейтинг: 0 / 0
02.02.2006, 12:51
    #33518652
vfabr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты
сесть на велисапед и разбить об стену лоб :-) (шутка)

зазипуйте
передайте зип
распакуйте
...
Рейтинг: 0 / 0
02.02.2006, 13:19
    #33518783
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты
когда браузер обращается в странице, он каждую картинку в отдельном
потоке (через отдельный сокет) качает.
то есть за раз передать все неполучится (как вариант - в архиве).



-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
02.02.2006, 14:38
    #33519103
Sherst
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты
Господа, проверьте пожайлуста код. Пытаюсь передать gif-файл от сервера клиенту, но ничего не получается.


Клиент
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
 package  untitled8;

 import  java.io.*;
 import  java.net.*;

 public   class  Frame1 {
   public   static   void  main(String[] args){
    FileOutputStream fis =  null ;
     try {
      ///////////////////
      Socket s =  new  Socket("localhost",  8189 );
      DataInputStream dataIn =  new  DataInputStream( new  BufferedInputStream(s.getInputStream()));
      DataOutputStream dataOut =  new  DataOutputStream( new  BufferedOutputStream(s.getOutputStream()));
      ///////////////////
      fis =  new  FileOutputStream("D:\\Image1.gif");
       while  (dataIn.read() != - 1 ) {
        fis.write(dataIn.readByte());
      }
      ///////////////////
      dataIn.close();
      dataOut.close();
      s.close();
    }
     catch (IOException i){
      System.err.println(i.toString());
    }
     finally {
       try {
         if  (fis!= null ){
          fis.close();
        }
      }
       catch (IOException er){
        System.err.println(er);
      }
    }
  }
}

Сервер
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
 package  localnetwork;

 import  java.io.*;
 import  java.net.*;

 public   class  Server {
   public   static   void  main(String[] args){
    FileInputStream fis =  null ;

     try  {
      ServerSocket ss =  new  ServerSocket( 8189 );
      Socket incoming = ss.accept(); //Ожидаем подключение клиента к заданному порту
      DataInputStream dataIn =  new  DataInputStream( new  BufferedInputStream(incoming.getInputStream()));
      DataOutputStream dataOut =  new  DataOutputStream( new  BufferedOutputStream(incoming.getOutputStream()));
      ////////////////////////////////
      ByteArrayOutputStream baos =  new  ByteArrayOutputStream();
      File f =  new  File("C:\\Image1.gif");
      fis =  new  FileInputStream(f);
       byte [] buf =  new   byte [ 1024 ];
       int  readed;
       while  ((readed = fis.read(buf)) != - 1 ) {
        baos.write(buf,  0 , readed);
      }
      dataOut.write(baos.toByteArray());
      ////////////////////////////////
      dataIn.close();
      dataOut.close();
      incoming.close();
      ss.close();
    }
     catch (Exception ex) {
      System.err.println(ex.toString());
    }
     finally {
       try {
         if  (fis!= null ){
          fis.close();
        }
      }
       catch (IOException er){
        System.err.println(er);
      }
    }
    //********************************************************************************//
  }
}
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Сокеты / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]