GameAnvilConnector 2.0.0
Loading...
Searching...
No Matches
GameAnvil.Packet Class Referenceabstract

서버로 메시지를 보내기 위한 클래스 More...

Public Member Functions

int GetMsgId ()
 메시지 아이디
 
bool TryGetMsgId (out int id)
 메시지 아이디
 
virtual string GetMsgName ()
 패킷에 담긴 메시지의 이름
 
int GetSerializedSize ()
 현재 패킷을 byte[] 로 직렬화 했을 때 크기를 반환
 
virtual int GetDecompressSize ()
 패킷의 압축 해제시 크기 패킷이 압축되어있지 않으면 0
 
void WriteTo (Span< byte > buf)
 패킷을 버퍼에 직렬화
 
TProtoBuffer ToProtoBufferMessage< TProtoBuffer > ()
 패킷을 프로토 버퍼 메시지를 변환 지정된 타입이 아닐 때는 예외 발생
 
ByteString ToByteString ()
 패킷을 프로토 버퍼의 ByteString 으로 변환한 메시지
 

Static Public Member Functions

static Packet MakePacket (IMessage message)
 
static Packet MakePacket< TProtoBuffer > (TProtoBuffer message)
 
static Packet MakePacket< TProtoBuffer > (TProtoBuffer message, PacketOption option)
 프로토 버퍼를 이용하여 패킷을 생성
 
static Packet MakeCustomPacket (int customMsgId, ArraySegment< byte > data)
 사용자가 지정한 임의의 아이디와 데이터를 담은 패킷을 생성
 

Properties

virtual bool IsCompress [get]
 패킷이 압축되어있는지 여부
 

Detailed Description

서버로 메시지를 보내기 위한 클래스

생성을 위해서는 MakePacket 메서드를 호출

Member Function Documentation

◆ GetDecompressSize()

virtual int GameAnvil.Packet.GetDecompressSize ( )
inlinevirtual

패킷의 압축 해제시 크기 패킷이 압축되어있지 않으면 0

Returns
압축 해제시 크기를 반환

◆ GetMsgId()

int GameAnvil.Packet.GetMsgId ( )
abstract

메시지 아이디

◆ GetMsgName()

virtual string GameAnvil.Packet.GetMsgName ( )
inlinevirtual

패킷에 담긴 메시지의 이름

◆ GetSerializedSize()

int GameAnvil.Packet.GetSerializedSize ( )
abstract

현재 패킷을 byte[] 로 직렬화 했을 때 크기를 반환

대부분 호출 시 크기만 계산하지만 패킷 생성 방식에 따라서 이 메서드를 호출했을 때 즉시 직렬화 될 수 있음

Returns
크기 반환

◆ MakeCustomPacket()

static Packet GameAnvil.Packet.MakeCustomPacket ( int customMsgId,
ArraySegment< byte > data )
inlinestatic

사용자가 지정한 임의의 아이디와 데이터를 담은 패킷을 생성

Parameters
customMsgId사용자가 지정한 메시지 아이디
data데이터
Returns
만들어진 패킷 반환

◆ MakePacket()

static Packet GameAnvil.Packet.MakePacket ( IMessage message)
inlinestatic

◆ MakePacket< TProtoBuffer >() [1/2]

static Packet GameAnvil.Packet.MakePacket< TProtoBuffer > ( TProtoBuffer message)
inlinestatic

Type Constraints
TProtoBuffer :IMessage 

◆ MakePacket< TProtoBuffer >() [2/2]

static Packet GameAnvil.Packet.MakePacket< TProtoBuffer > ( TProtoBuffer message,
PacketOption option )
inlinestatic

프로토 버퍼를 이용하여 패킷을 생성

Parameters
message프로토 버퍼
option패킷의 옵션
Type Constraints
TProtoBuffer :IMessage 

◆ ToByteString()

ByteString GameAnvil.Packet.ToByteString ( )
abstract

패킷을 프로토 버퍼의 ByteString 으로 변환한 메시지

만약 ByteString 으로 만든 패킷일때는 이미 가지고 있으므로 추가적인 변환을 하지 않음

Returns
내부 데이터를 ByteString 으로 변환한 값

◆ ToProtoBufferMessage< TProtoBuffer >()

TProtoBuffer GameAnvil.Packet.ToProtoBufferMessage< TProtoBuffer > ( )
abstract

패킷을 프로토 버퍼 메시지를 변환 지정된 타입이 아닐 때는 예외 발생

만약 이러한 변환에 실패하는 문제가 있을 시 GameAnvilProtocolManager.RegisterProtocol 에 패킷을 등록할 것

프로토 버퍼 메시지로 만든 패킷일때는 이미 가지고 있으므로 추가적인 변환을 하지 않음

Template Parameters
TProtoBuffer가져올 프로토 버퍼 메시지의 타입
Returns
변환한 프로토버퍼
Type Constraints
TProtoBuffer :IMessage 
TProtoBuffer :new() 

◆ TryGetMsgId()

bool GameAnvil.Packet.TryGetMsgId ( out int id)
abstract

메시지 아이디

Returns
성공 여부

◆ WriteTo()

void GameAnvil.Packet.WriteTo ( Span< byte > buf)
abstract

패킷을 버퍼에 직렬화

Parameters
buf저장할 버퍼

Property Documentation

◆ IsCompress

virtual bool GameAnvil.Packet.IsCompress
get

패킷이 압축되어있는지 여부


The documentation for this class was generated from the following file: