C# Class Aegis.Network.Session

Datei anzeigen Open project: SyncZone/AegisFramework Class Usage Examples

Public Properties

Property Type Description
PacketValidator EventHandler_IsValidPacket

Public Methods

Method Description
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

Private Methods

Method Description
AttachSocket ( Socket socket ) : void
OnReceived ( StreamBuffer buffer ) : void
OnSocket_Accepted ( ) : void
Socket_Connect ( IAsyncResult ar ) : void

Method Details

Close() public method

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

Connect() public method

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

Connect() public method

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

SendPacket() public method

패킷을 전송합니다.
public SendPacket ( StreamBuffer buffer, Action onSent = null ) : void
buffer StreamBuffer 전송할 데이터가 담긴 StreamBuffer
onSent Action 패킷 전송이 완료된 후 호출할 Action
return void

SendPacket() public method

패킷을 전송하고, 특정 패킷이 수신될 경우 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
return void

SendPacket() public method

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

Session() public method

public Session ( ) : System
return System

Session() public method

public Session ( NetworkMethodType methodType ) : System
methodType NetworkMethodType
return System

SetMethodSelectHandler() public method

public SetMethodSelectHandler ( object targetInstance, DispatchMethodSelector handler ) : void
targetInstance object
handler DispatchMethodSelector
return void

Property Details

PacketValidator public_oe property

public EventHandler_IsValidPacket PacketValidator
return EventHandler_IsValidPacket