Programming 23

[네트워크 프로그래밍] Http 통신

- HTTP 통신도 내부적으로 TCP를 이용한다. (일반적으로 포트 = 80) [ System.Net.HttpWebRequest ] - BCL에 정의된 HTTP 관련 타입 using System; using System.IO; using System.Net; class Program { static void Main(string[] args) { // HttpWebRequest 타입은 내부적으로 TCP 소켓을 생성하고 HttpWebRequest req = WebRequest.Create("http://www.naver.com") as HttpWebRequest; // GetResponse 호출 단계에서 지정된 웹 서버로 HTTP 요청을 보내고, 응답을 받는다. HttpWebResponse resp = r..

Programming/C# 2019.03.02

[네트워크 프로그래밍] TCP/IP 예제

- 서버측에서의 Binding까지는 UDP 서버 소켓 사용하는 방법과 동일함. - TCP/IP 통신을 할 때 Socket의 생성자는 아래와 같이 지정한다. Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); - TCP/IP 서버는 아래와 같이 동작함. Binding -> Listen(연결 받을 수 있는 상태) -> Accept(클라이언트 접속 큐에서 하나 꺼내옴) - TCP/IP에서는 Send / Receive를, UDP에서는 SendTo / ReceiveFrom을 사용하여야 한다. 이미 Accept로 클라이언트 소켓 정보를 알고있으므로, Send / Receive에는 접점 정보를 알아내기 ..

Programming/C# 2019.02.27

[네트워크 프로그래밍] UDP 예제

[ 소켓 프로그램 실습 기본 예제 ] - 물리적으로 두 대의 PC를 구할 수 없으므로 아래와 같은 방식으로 구현한다. using System; using System.Net.Sockets; using System.Threading; class Program { static void Main(string[] args) { Thread serverThread = new Thread(serverFunc); serverThread.IsBackground = true; serverThread.Start(); Thread.Sleep(500); // 소켓 서버용 스레드가 실행될 시간을 주기 위해 Thread clientThread = new Thread(clientFunc); clientThread.IsBackgro..

Programming/C# 2019.02.27