Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / 2 сокет сервера в одном приложение / 4 сообщений из 4, страница 1 из 1
08.09.2015, 13:12
    #39045749
VaneS Ri_lax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 сокет сервера в одном приложение
Здравствуйте, необходимо реализовать 2 сокет сервера в одном приложение, создал 2 класса
первый сервер:
Код: 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.
public class ServerMost extends Thread{
    public static ServerSocket server;
    Socket s;
    int num;

    public ServerMost(int num, Socket s) {
        this.num = num;
        this.s = s;
        setDaemon(true);
        setPriority(NORM_PRIORITY);
        start();
    }
    
    @Override
    public void run(){
        
    }
    
    
    
    public static void serverStart(){
        System.out.println("Сервер мост");
        int port = 777;
        try {
            int i=0;
            server = new ServerSocket(port);
            while(true){
                new ServerAndroid(i, server.accept());
                i++;
                System.out.println("Работа с клиентом: "+server);
            }
            
        } catch (IOException ex) {
            Logger.getLogger(ServerAndroid.class.getName()).log(Level.SEVERE, null, ex);
        }
        
    }
}


И второй сервер:
Код: 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.
public class ServerAndroid extends Thread{
    public static ServerSocket server;
    Socket s;
    int num;

    public ServerAndroid(int num, Socket s) {
        this.num = num;
        this.s = s;
        setDaemon(true);
        setPriority(NORM_PRIORITY);
        start();
    }
    
    @Override
    public void run(){
        
    }
    
    
    
    public static void serverStart(){
        System.out.println("Сервер android");
        int port = 999;
        try {
            int i=0;
            server = new ServerSocket(port);
            while(true){
                new ServerAndroid(i, server.accept());
                i++;
                System.out.println("Работа с клиентом: "+server);
            }
            
        } catch (IOException ex) {
            Logger.getLogger(ServerAndroid.class.getName()).log(Level.SEVERE, null, ex);
        }
        
    }
}


Как видно 2 сервера одинаковые, запускать пытаюсь вот так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
public class Main {
    public static void main(String[] args) {
        new Runnable() {

            @Override
            public void run() {
                ServerMost.serverStart();
                //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
            }
        }.run();
        
        new Runnable() {

            @Override
            public void run() {
                ServerAndroid.serverStart();
                //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
            }
        }.run();
    }
}


Почему то первый сервер стартует нормально, а второй нет, он ждет пока завершиться первый... А мне надо чтобы они 2 запустились сразу, что я делаю не так?
Заранее большое спасибо!
...
Рейтинг: 0 / 0
08.09.2015, 13:23
    #39045761
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 сокет сервера в одном приложение
Код ради. Кода. Ни анонимные классы, ни Thread API вы похоже вообще не понимаете.

Вот это за гранью:

Код: java
1.
2.
3.
4.
5.
new Runnable() {
    @Override
    public void run() {
    }
}.run();



Есть понимание что этот код делает? Если нет, то для чего он написан?
Конструкторы объявлены, но нигде не используются. Тогда зачем они?
...
Рейтинг: 0 / 0
08.09.2015, 14:07
    #39045817
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 сокет сервера в одном приложение
VaneS Ri_lax,

Потому что переопределять нужно run(), а вызывать ч/з start()
<:o)
...
Рейтинг: 0 / 0
08.09.2015, 14:33
    #39045855
xifr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 сокет сервера в одном приложение
BlazkowiczКод ради. Кода. Ни анонимные классы, ни Thread API вы похоже вообще не понимаете.
....
Есть понимание что этот код делает? Если нет, то для чего он написан?
Конструкторы объявлены, но нигде не используются. Тогда зачем они?

Может быть зарплата за количество строк :)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / 2 сокет сервера в одном приложение / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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