2012년 12월 19일 수요일

Socket(Tcp) 비동기 Server

c# Socket의 비동기 서버 입니다.
비동기 부분에서 눈여겨 봐야할부분은
BeginAccept <====> EndAccept
BeginSend <====> EndSend
BeginReceive <====> EndReceive
메소드들의 짝을 이뤄야한다는점입니다.
Socket.BeginSend()의 원형을 보면(MSDN Library 참고 및 검색) AsyncCallback 대리자
Object state 상태정보를 포함한 객체(사용자정의객체도 됨)를 눈여겨봐야할것같습니다.
예외처리시 SocketException이 발생하는데요
SocketException.SocektErrorCode의 맴버들을 적절히 사용해야됩니다.
NotConnected = Socket의 연결되지 않은 상태로 응용프로그램에서 데이터를 보내고 받으...
ConnectionRefused = 원격호스트가 연결을 거부했습니다.
ConnectionReset = 원격피어가 연결을 다시 설정했습니다. 등등등.

댓글 없음:

댓글 쓰기