TcpClient는 TCP 소켓 통신을 쉽게 다루기 위한 C#의 고수준 API 클래스이다.
내부적으로 Socket 클래스를 감싸고 있고,
IP 주소와 포트에 연결하고, 데이터를 스트림으로 읽고 쓸 수 있도록 도와준다.
정확히는 System.Net.Sockets.TcpClient이다.
new TcpClient(SERVER_ADDRESS, SERVER_PORT)
이 생성자는 TCP 클라이언트를 생성하면서 즉시 서버에 연결(connect)한다.
new TcpClient("127.0.0.1", 1234)
"127.0.0.1" -> 연결할 서버의 IP주소 (로컬호스트)
1234 -> 연결할 포트 번호
-> 이 값들은 TcpClient의 내부 Socket 필드에 저장되고, 연결이 시도된다.
소스 코드를 보면 TcpClient는 내부적으로 Socket 객체를 생성하고, Connect() 메서드를 호출하여 IPAddress와 port로 연결을 시도한다.
// 내부적으로 이런 식으로 처리됨
_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
_socket.Connect(serverIPAddress, serverPort);
즉, 우리가 넘겨준 IP와 포트는 Socket.Connect()의 인자로 전달되어 바로 TCP 연결을 수행한다.