ServerSocket, который не мешает майнкрафт серверу

Discourtesy

Пользователь
Сообщения
14
При инициализации ServerSocket у меня появилась проблема: на самом майнкрафт сервере не выполняются команды и игроки не могут подключиться. Единственное что есть живое на сервере, так это подключение socket'а к serversocket'у. Прошу вас помочь сделать так, чтобы ServerSocket не мешал работе майнкрафт сервера. Чтобы игроки могли подключаться и выполнять команды.
 
Решение
Баккит работает в однопотоке, а когда ты ждешь подключения своим сокетом, ты получаеся лочишь поток сервера. Рабоает только чат и логин - все что в асинхроне. Решается разделением на потоки функционала твоего плагина.
Баккит работает в однопотоке, а когда ты ждешь подключения своим сокетом, ты получаеся лочишь поток сервера. Рабоает только чат и логин - все что в асинхроне. Решается разделением на потоки функционала твоего плагина.
 
Баккит работает в однопотоке, а когда ты ждешь подключения своим сокетом, ты получаеся лочишь поток сервера. Рабоает только чат и логин - все что в асинхроне. Решается разделением на потоки функционала твоего плагина.
Всё равно ничего не изменилось. Может быть я что-то не так сделала?
Java:
Thread t = new Thread(() -> {
            try {
                ss = new ServerSocket(port);
                System.out.println("Started.");
                ss.accept();
                System.out.println("Socket accepted.");
            } catch (IOException e) {
                e.printStackTrace();
            }
        });
        t.start();
 
Сервер показывает "Started" и морозится? Попробуй подключиться к сокету, посмотрим что из этого выйдет
Всё работает, спасибо! Команды выполняются и вроде как можно зайти. Только у меня вопрос. Вот подключается сокет, можно ли будет потом ещё один сокет подключить, или надо будет ещё добавлять ss.accept()?
 
Всё работает, спасибо! Команды выполняются и вроде как можно зайти. Только у меня вопрос. Вот подключается сокет, можно ли будет потом ещё один сокет подключить, или надо будет ещё добавлять ss.accept()?
Я советую посмотреть как сделаны асинхронные чаты на Java, примеров в сети много.
 
Назад
Сверху Снизу