PROTOCOL_BASE_CONNECT_ACK - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Point Blank (Piercing Blow)

Point Blank (Piercing Blow)
Общие вопросы по написанию эмулятора. General questions on developing emulator. При поддержке: Lucera 2 - разработка Java Interlude

Ответ
Опции темы
Непрочитано 17.05.2016, 01:12   #1
Забанен за кидаловo/обман/развод

Автор темы (Топик Стартер) PROTOCOL_BASE_CONNECT_ACK

Я пробую взять значение сессии из ClientConnection, но что то не получается.
PROTOCOL_BASE_CONNECT_ACK:
Свернуть ↑Развернуть ↓

Boris2105 вне форума Ответить с цитированием
Непрочитано 17.05.2016, 15:29   #2
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: PROTOCOL_BASE_CONNECT_ACK

Код:
ClientConnection session = new ClientConnection();
...

Тогда уж так:

class PROTOCOL_BASE_CONNECT_ACK : Packet
{
	NetworkSession session;
 
	public PROTOCOL_BASE_CONNECT_ACK(NetworkSession session)
	{
		this.session = session;
	}
 
	public override void WriteImpl()
	{
		// ...
 
		Write<ushort>(session.Seed);
		Write<int>(session.Id);
	}
}
 
Code: C#

SendPacket(new PROTOCOL_BASE_CONNECT_ACK(this));
 
Code: C#

Ну или сделать как-то так:

class Packet : ServerPacket
{
	public virtual void WriteImpl()
	{
 
	}
}
 
class ServerPacket
{
	protected NetworkSession Session { get; set; }
 
	public void Init(NetworkSession session)
	{
		Session = session;
	}
 
	public void PreparationForSend()
	{
		// ...
	}
 
	// ...
}
 
Code: C#

Метод отправки в NetworkSession будет выглядеть так:

public void SendPacket(ServerPacket packet)
{
	try
	{
		packet.Init(this);
		packet.WriteImpl();
		packet.PreparationForSend();
 
		stream.BeginWrite(packet.Data, 0, packet.Data.Length, SendEnd, null);
	}
	catch (Exception ex)
	{
		log.Error(ex);
	}
	finally
	{
		packet = null;
	}
}
 
Code: C#

Тогда свойство Session будет доступно в любом пакете.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PROTOCOL_BASE_CONNECT_ACK Sojang Point Blank (Piercing Blow) 12 21.01.2016 12:15
ничего не приходит после PROTOCOL_BASE_CONNECT_ACK Sojang Point Blank (Piercing Blow) 40 18.01.2016 00:01


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

Вверх