помогите начать делать LoginServer L2 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming > Java

Java В данном форуме вы сможете найти много полезной информации по платформе Java. Подробные статьи, исходные коды и конечно учебники как для новичков так и профессиональных Java разработчиков вы найдёте здесь. Если у вас есть вопрос или хотите поделится своими наработками, пожалуйста, делайте это в этой теме.

Ответ
Опции темы
Непрочитано 18.08.2010, 10:55   #1
Пользователь

Автор темы (Топик Стартер) помогите начать делать LoginServer L2

Ку. Вообщем проблема, скачал линейку интерлюд, подстроил под себя (localhost).

Вот код, моего "супер" логин сервера. Он просто ловит сокет и должен, как бы должен, вывести присланный от клиента пакет.

Код:
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.lang.ClassNotFoundException;
import java.lang.Runnable;
import java.lang.Thread;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerSocketExample {
    private ServerSocket server;
    private int port = 7777;

    public ServerSocketExample() {
        try {
            server = new ServerSocket(port);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        ServerSocketExample example = new ServerSocketExample();
        example.handleConnection();
    }

    public void handleConnection() {
        System.out.println("Waiting for client message...");

        while (true) {
            try {
                Socket socket = server.accept();
                new ConnectionHandler(socket);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

class ConnectionHandler implements Runnable {
    private Socket socket;

    public ConnectionHandler(Socket socket) {
        this.socket = socket;

        Thread t = new Thread(this);
        t.start();
    }

    public void run() {
        try
        {
            ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
            String message = (String) ois.readObject();
            System.out.println("Message Received: " + message);
            ois.close();
            socket.close();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}
Когда в линейке ввожу логин-пасс, сокет ловит коннект, но больше ничего... Что я делаю не так ? Спасибо.

Последний раз редактировалось kykazzz; 18.08.2010 в 12:04.
kykazzz вне форума Ответить с цитированием
Непрочитано 18.08.2010, 11:02   #2
Изгнанные

По умолчанию Re: помогите начать делать LoginServer L2

Ты в ядре чтоли настраивал под себя?
DeForMator вне форума Отправить сообщение для DeForMator с помощью ICQ Отправить сообщение для DeForMator с помощью Skype™ Ответить с цитированием
Непрочитано 18.08.2010, 11:13   #3
Пользователь

Автор темы (Топик Стартер) Re: помогите начать делать LoginServer L2

Просто ИНИшку.
kykazzz вне форума Ответить с цитированием
Непрочитано 18.08.2010, 13:51   #4
Аватар для VISTALL
Illussion is real

По умолчанию Re: помогите начать делать LoginServer L2

Просто клиент ниче не пошлет пока не получит пакет Init с ключем криптования
VISTALL вне форума Ответить с цитированием
Непрочитано 18.08.2010, 13:57   #5
Пользователь

Автор темы (Топик Стартер) Re: помогите начать делать LoginServer L2

На какой стадии мне посылать пакет ? Сокет открылся и сразу слать ?
kykazzz вне форума Ответить с цитированием
Непрочитано 18.08.2010, 13:58   #6
Аватар для VISTALL
Illussion is real

По умолчанию Re: помогите начать делать LoginServer L2

да, это для ЛС)

Добавлено через 3 минуты
C - клиент
S - сервак

Вот так работает ЛС

S -> C Init - крипт
C -> S REquestAuthGG
S -> C GameGuardAuth
C -> S RequestAuth
S -> C LoginOk/LoginFail
C -> S RequestServerList
S -> C ServerList
C -> S RequestServerLogin
S -> C PlayOk/PlayFail

Вот так ГС
C -> S ProtocolVersion
S -> C KeyPacket -ключ
....

Добавлено через 4 минуты
пишу с памьяти могу ошибатся в имени пакета

Последний раз редактировалось VISTALL; 18.08.2010 в 14:03. Причина: Добавлено сообщение
VISTALL вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 18.08.2010, 14:11   #7
Пользователь

Автор темы (Топик Стартер) Re: помогите начать делать LoginServer L2

Спасибо. Тема закрыта.
kykazzz вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С чего начать написание патча kaddy World of WarCraft 0 15.05.2010 10:52
LoginServer msdos Сервер 6 18.02.2010 21:33
[l2jserver] Как начать TvT ивент из админки? Rus. Lineage II 1 19.10.2009 22:45
Ошибка LoginServer RAMMSTALKER Lineage II 7 09.04.2009 20:39
Проблема с LoginServer KeMnS Lineage II 2 21.06.2008 11:51


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 11:55. Часовой пояс GMT +3.

Вверх