Форум программистов, компьютерный форум, киберфорум
Java: Сети
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Java Сети Перехват видео онлайн народ подскажите кто сталкивался! ситуация такая: зашел на youtube вкл ролик, вкл программу и записал ролик на комп. Как такое реализовать? Куда копать? https://www.cyberforum.ru/ java-networks/ thread720984.html Создать TCP/IP Java Сети
Создать проект в среде netBeans 7.2, написать программу обмена сообщениями. если можно то с инструкцией, заранее благодарю!)
Java Сети Glassfish + Authentication/Authorization Имеется веб проект (JSP+Servlets) запускаемый через Glassfish. Логин в систему происходит через проверки юзеров в стандартном реалме гласфиша. При настройке в web.xml можно добавить только свои... https://www.cyberforum.ru/ java-networks/ thread717440.html Java Сети HTTPS Как работать с хттпс в яве? гугл ничего толкового не обьяснил ( https://www.cyberforum.ru/ java-networks/ thread714900.html
Java Сети Android. Сокетный клиент
Всем привет. Есть сервер, с которым получается установить соединение и отправить данные, на считать данные из сокета не получается. Либо виснет, либо ошбка приложения. С явой я знаком достаточно...
Java Сети Как передать данные о пользователе в веб-приложение https://www.cyberforum.ru/ java-networks/ thread707921.html
Добрый вечер. Столкнулся со след.задачей: на предприятии есть web-приложение(крутится на tomcat). Когда пользователь хочет работать с этим web-приложением, то он по ссылке попадает на страницу...
Java Сети пост запрос При попытке авторизации пост запросом на сайт http://pw.mail.ru/ ,вылетает ошибка org.apache.http.NoHttpResponseException: The target server failed to respond https://www.cyberforum.ru/ java-networks/ thread707184.html Наращивание статической переменной Java Сети
Нужно создать счетчик на сайт который бы сохранял переменную к которой прибавляют после наращивания сохранялась чтобы потом к ней можно было добавить еще значения заранее спасибо)))
Java Сети Чат на Java https://www.cyberforum.ru/ java-networks/ thread705577.html
есть сервер который соединяется с клиентом через сокеты. Как сделать чтобы сообщения отправлялись в реальном времени. Ато у меня пока клиент не напишет чтото и не нажмет энтер сервер не может...
Java Сети Определение хоста по ip адресу и наоборот https://www.cyberforum.ru/ java-networks/ thread704947.html
Задание: программа должна определять имя хоста по ip адресу и ip адрес по хосту. Данный текст не рабочий, помогите довести до ума. Вводить данные нужно с консоли. import java.net.*; public...
Java Сети "Выход" из метода без ошибки
прошиваю одну железку сейчас вот так: private void WriteFirmware(){ try { String boundary = Long.toHexString(System.currentTimeMillis()); URL pageURL =...
Java Сети Кириллица в пост запросе Использую апачу , думал будет легко и просто с ней но так не оказалось, русские символы отображаются в виде "???" , пробовал и encode и менять кодировку ничё не помагало ,помогите разобраться.... https://www.cyberforum.ru/ java-networks/ thread702100.html
238 / 237 / 142
Регистрация: 03.02.2011
Сообщений: 1,436
0

Пересылка файлов - Java Сети - Ответ 3823444

08.12.2012, 18:46. Показов 1441. Ответов 1
Метки (Все метки)

Есть задание, надо переслать файлы из указанной директории используя сервер, почитал при помощи List<File> можно это сделать, но я так и не понял как, можете помочь?
Сервер:
Java
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
package tmp2;
 
import java.io.*;
import java.net.*;
import java.util.*;
 
public class ServerPart {
    
    public static final int PORT = 19999;
    
    public static List<ConnectionThread>clientList;
    public static List<Thread>threadList;
    public static List<File>fileList;
    
    
    public static void main(String[] args) {
        clientList = new ArrayList<ConnectionThread>();
        threadList = new ArrayList<Thread>();
        fileList = new ArrayList<File>();
        ServerSocket serversocket = null;
        boolean endless = true;
        try {
            serversocket = new ServerSocket(PORT);
            System.out.println("Server socket is created: " +serversocket.getInetAddress().getHostAddress()+ "\nWaiting or connection..");
            int ID = 0;
            while(endless) {
                Socket socket = serversocket.accept();
                addClient(socket, ID);
                ID++;
            }
        } catch(IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if(serversocket != null)
                    serversocket.close();
                closeAllConnections();
            } catch(IOException e) {
                e.printStackTrace();
            }
        }
 
    }
    
    private static synchronized void addClient(Socket socket, int ID) {
        System.out.println("Got a connection from: " +socket.getInetAddress() +": "+ socket.getPort());
        ConnectionThread conn = new ConnectionThread(socket, ID, socket.getInetAddress());
        Thread th = new Thread(conn);
        threadList.add(th);
        clientList.add(conn);
        th.start();
    }
    
    private static void closeAllConnections() {
        for(int i=0; i<clientList.size(); i++) {
            ConnectionThread c = clientList.get(i);
            c.sendLine("Quiting...");
            clientList.remove(i);
        }
    }
    
    public static synchronized void fileSender() {
        
    }
 
}
 
class ConnectionThread implements Runnable {
    boolean c;
    PrintWriter out = null;
    BufferedReader buf = null;
    InetAddress clientAddress = null;
    public int ID;
    
    public ConnectionThread(Socket socket, int ID, InetAddress clientAddress) {
        this.ID = ID;
        this.clientAddress = clientAddress;
        try {
            out = new PrintWriter(socket.getOutputStream(), true);
            buf = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        } catch(IOException e) {
            System.out.println("Failed to connect! Connection id: " +ID+ ", client address: " +clientAddress);
        }
        c = true;
        System.out.println("New connection established with id: " + ID);
        out.println("You are connected as USER: " +ID);
        //ServerPart.fileSender();
    }
    
    public void sendLine(String message) {
        if(c)
            out.println(message);
    }
    
    public void run() {
        while(c) {
            try {
                String line = buf.readLine();
                if(line != null) {
                    if(line.equals("kill")) {
                        c = false;
                        throw new IOException();
                    }
                    
                }
            } catch(IOException e) {
                c = false;
                String dcmsg = "User: " +ID+ " diconnected!!";
                System.out.println(dcmsg);
            }
        }
    }
    
    public void close() {
        while(c) {
            try {
                buf.close();
                out.close();
            } catch(IOException e) {
                e.printStackTrace();
            }
        }
    }
}
Клиент:
Java
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package tmp2;
 
import java.io.*;
import java.net.*;
 
public class ClientPart {
 
    
    public static void main(String[] args) {
        
        try {
            Socket socket = new Socket(InetAddress.getLocalHost(),19999);
            PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
            Listening conn = new Listening(socket);
            Thread t = new Thread(conn);
            t.start();
            BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
            StringBuffer line = new StringBuffer("");
            System.out.println("For closing session enter 'kill'!");
            while(!line.toString().equals("kill")) {
                line.setLength(0);
                line.append(buf.readLine());
                out.println(line.toString());
            }
            out.close();
            buf.close();
            socket.close();
        } catch(UnknownHostException e) {
            System.out.println("Unexpected error, exiting..");
        } catch(IOException e) {
            System.out.println("There are no servers available, exiting..");
        }
    }
 
}
 
class Listening implements Runnable {
    BufferedReader buf = null;
    public Listening(Socket socket) {
        try {
            buf = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        } catch(IOException e) {
            System.out.println("Something wrong in the connection.");
        }
    }
    
    public void run() {
        StringBuffer line = new StringBuffer("");
        while(true) {
            try {
                line.setLength(0);
                line.append(buf.readLine());
                if(!(line.toString().equals("null"))) {
                    System.out.println(line);
                } else {
                    buf.close();
                    throw new Exception();
                }
            } catch(Exception e) {
                System.out.println("Lost connection to server!");
                System.exit(0);
            }
        }
    }
}
Добавлено через 39 минут
Хотел так, но увы, не работает((
Java
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
    public static synchronized void fileSender(Socket socket) throws IOException {
        int fs = 9999999;
        long start = System.currentTimeMillis();
        int bR;
        int c = 0;
        File file = new File("E:\tmp");
        File[] files = file.listFiles();
        for(int fileInList = 0; fileInList<files.length; fileInList++) {
            byte[] mba = new byte[fs];
            InputStream is = socket.getInputStream();
            FileOutputStream fos = new FileOutputStream(file);
            BufferedOutputStream bos = new BufferedOutputStream(fos);
            bR = is.read(mba,0,mba.length);
            c = bR;
            do {
                bR = is.read(mba,c,(mba.length-c));
                if(bR >= 0)
                    c += bR;
            } while(bR < -1);
            bos.write(mba,0,c);
            bos.flush();
            long end = System.currentTimeMillis();
            System.out.println(end-start);
            bos.close();
            socket.close();
        }
    }


Вернуться к обсуждению:
Пересылка файлов Java Сети
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2012, 18:46
Готовые ответы и решения:

Пересылка больших файлов через Socket
Привет Пишу клиент сервер и проблема такая При передачи маленьких файлов все ок, файл доходит...

Пересылка сообщений между клиентами
есть сервер class ServeOneJabber extends Thread { private Socket socket; private...

Сервер-клиент. Пересылка пакетов
Задача: пересылать с определенным интервалом пакеты(поток байт, не строки) на сервер и затем ждать...

Пересылка файлов.
Привет. Помогите новичку. Каким образом переслать файл с одного компьютера на другой (от клиента...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2012, 18:46

Пересылка файлов
Здравствуйте! Реализую следующий проект: пересылка xml-файлов по сети по запросу пользователя....

Пересылка файлов по мылу.
Подскажите, каким образом можно переслать в email'е файл, чтоб он был распакован только конечным...

делфи пересылка файлов
И так у меня есть файлы которые мне надо перекинуть другому человеку и приэтом через делфи и чтоб...

Пересылка группы файлов на хост
Ест программа которая по инажатию отпровляет фаил на хост А есть ли способ сделат ь чтобы она...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru