[C#] TCP 통신
TCP 통신
1:1 통신에서는 동기 사용하지만
1:N 통신은 비동기로 연결을 처리해야 한다.
비동기로 구성해주자.
[소켓생성]
Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
[소켓연결]
clientSocket.BeginConnect() //비동기, clientSocket.Connect() //동기
[소켓수신]
clientSocket.BeginReceive(), clientSocket.Receive()
[소켓송신]
clientSocket.BeginSend(), clientSocket.Send()
[소켓 연결종료]
clientSocket.Close();
TIP
Parse
C# 에서 string 을 int 형으로 형변환 시 사용 but string 인자에 숫자가 아닌 문자가 들어오면 Error 발생
private string ip = "";
private int port = 43210;
IPEndPoint remoteEp = new IPEndPoint(IPAddress.Parse(ip), port);
Delegate
참조 : https://www.csharpstudy.com/CSharp/CSharp-delegate-concept.aspx#google_vignette
Delegate는 이렇게 메서드를 다른 메서드로 전달할 수 있도록 하기 위해 만들어 졌다.
메서드의 리턴값으로 호출자에게 전달 수도 있다.
델리게이트 정의에서 중요한 것은 입력 파리미터들과 리턴 타입이다.