C# 클래스 Aegis.Network.Session

파일 보기 프로젝트 열기: SyncZone/AegisFramework 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
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