C# Класс Aegis.Network.Session

Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
PacketValidator EventHandler_IsValidPacket

Открытые методы

Метод Описание
Close ( int reason = AegisResult.Ok ) : void

사용중인 리소스를 반환하고 소켓을 종료하여 네트워크 작업을 종료합니다. 종료 처리가 진행되기 이전에 EventClose가 호출됩니다.

Connect ( string hostName, int portNo ) : void

서버에 연결을 요청합니다. 연결요청의 결과는 EventConnect 통해 전달됩니다. 현재 이 Session이 비활성 상태인 경우에만 수행됩니다.

Connect ( string hostName, int portNo, Action actionOnResult ) : void

서버에 연결을 요청합니다. 연결요청의 결과는 EventConnect가 아닌 actionOnResult를 통해 전달됩니다. 현재 이 Session이 비활성 상태인 경우에만 수행됩니다.

SendPacket ( StreamBuffer buffer, Action onSent = null ) : void

패킷을 전송합니다.

SendPacket ( StreamBuffer buffer, PacketPredicate predicate, IOEventHandler dispatcher, Action onSent = null ) : void

패킷을 전송하고, 특정 패킷이 수신될 경우 dispatcher에 지정된 핸들러를 실행합니다. 이 기능은 AwaitableMethod보다는 빠르지만, 동시에 많이 호출될 경우 성능이 저하될 수 있습니다.

SendPacket ( byte buffer, int offset, int size, Action onSent = null ) : void

패킷을 전송합니다.

Session ( ) : System
Session ( NetworkMethodType methodType ) : System
SetMethodSelectHandler ( object targetInstance, DispatchMethodSelector handler ) : void

Приватные методы

Метод Описание
AttachSocket ( Socket socket ) : void
OnReceived ( StreamBuffer buffer ) : void
OnSocket_Accepted ( ) : void
Socket_Connect ( IAsyncResult ar ) : void

Описание методов

Close() публичный Метод

사용중인 리소스를 반환하고 소켓을 종료하여 네트워크 작업을 종료합니다. 종료 처리가 진행되기 이전에 EventClose가 호출됩니다.
public Close ( int reason = AegisResult.Ok ) : void
reason int
Результат void

Connect() публичный Метод

서버에 연결을 요청합니다. 연결요청의 결과는 EventConnect 통해 전달됩니다. 현재 이 Session이 비활성 상태인 경우에만 수행됩니다.
public Connect ( string hostName, int portNo ) : void
hostName string 접속할 서버의 Dns 혹은 Ip Address
portNo int 접속할 서버의 PortNo
Результат void

Connect() публичный Метод

서버에 연결을 요청합니다. 연결요청의 결과는 EventConnect가 아닌 actionOnResult를 통해 전달됩니다. 현재 이 Session이 비활성 상태인 경우에만 수행됩니다.
public Connect ( string hostName, int portNo, Action actionOnResult ) : void
hostName string 접속할 서버의 Dns 혹은 Ip Address
portNo int 접속할 서버의 PortNo
actionOnResult Action 연결 시도가 끝난 후 성공 또는 실패 코드를 처리할 함수
Результат void

SendPacket() публичный Метод

패킷을 전송합니다.
public SendPacket ( StreamBuffer buffer, Action onSent = null ) : void
buffer StreamBuffer 전송할 데이터가 담긴 StreamBuffer
onSent Action 패킷 전송이 완료된 후 호출할 Action
Результат void

SendPacket() публичный Метод

패킷을 전송하고, 특정 패킷이 수신될 경우 dispatcher에 지정된 핸들러를 실행합니다. 이 기능은 AwaitableMethod보다는 빠르지만, 동시에 많이 호출될 경우 성능이 저하될 수 있습니다.
public SendPacket ( StreamBuffer buffer, PacketPredicate predicate, IOEventHandler dispatcher, Action onSent = null ) : void
buffer StreamBuffer 전송할 데이터가 담긴 StreamBuffer
predicate PacketPredicate dispatcher에 지정된 핸들러를 호출할 것인지 여부를 판단하는 함수를 지정합니다.
dispatcher IOEventHandler 실행될 함수를 지정합니다.
onSent Action 패킷 전송이 완료된 후 호출할 Action
Результат void

SendPacket() публичный Метод

패킷을 전송합니다.
public SendPacket ( byte buffer, int offset, int size, Action onSent = null ) : void
buffer byte 보낼 데이터가 담긴 버퍼
offset int source에서 전송할 시작 위치
size int source에서 전송할 크기(Byte)
onSent Action 패킷 전송이 완료된 후 호출할 Action
Результат void

Session() публичный Метод

public Session ( ) : System
Результат System

Session() публичный Метод

public Session ( NetworkMethodType methodType ) : System
methodType NetworkMethodType
Результат System

SetMethodSelectHandler() публичный Метод

public SetMethodSelectHandler ( object targetInstance, DispatchMethodSelector handler ) : void
targetInstance object
handler DispatchMethodSelector
Результат void

Описание свойств

PacketValidator публичное свойство

public EventHandler_IsValidPacket PacketValidator
Результат EventHandler_IsValidPacket