코딩하는코알라/C#

[C#] TCP 통신

룰루랄라코알라 2023. 9. 11. 08:04

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는 이렇게 메서드를 다른 메서드로 전달할 수 있도록 하기 위해 만들어 졌다. 
메서드의 리턴값으로 호출자에게 전달 수도 있다.

델리게이트 정의에서 중요한 것은 입력 파리미터들과 리턴 타입이다. 


반응형