본문 바로가기

반응형

C#/네트워크

(3)
네트워크 소켓 통신을 하는 방법 소켓 통신 요약 프로그램과 프로그램, 그리고 컴퓨터와 컴퓨터끼리 데이터를 주고 받는 것을 통신이라고 한다. 통신을 좀 더 자세히 설명하면, 전송하는 패킷(데이터)이 컴퓨터의 랜 카드를 거쳐 랜 케이블로 나갑니다. 랜 케이블로 나간 데이터는 DNS와 라우터 등을 거쳐 도달하고자 하는 PC의 랜 카드에 들어가고 목표로 하는 프로그램에서 패킷(데이터)를 읽어 서로 간에 데이터를 주고 받는다. 이 때, 우리는 각 단말 간에 데이터 변환이나 장비 간의 통신 규약에 대해서 모둘 개발하지 않는다. 이러한 통신 규약 등은 모두 OS 측에서 설정(OSI 7계층)되고, 우리는 그 위에 꽂아서 쓴다라는 개념으로 Socket 통신 규약을 이용해 통신한다. 소켓 통신 규약 먼저 기다리는 측의 PC를 서버라고 하며 Port를 열..
소켓 소켓(Socket) 네트워크로 연결돼있는 두 컴퓨터가 데이터를 주고 받을 수 있게 하는 것이 네트워크 프로그래밍이다.네트워크로 연결되어 있는 두 컴퓨터가 데이터를 주고받기 위해서는 물리적인 연결이 필요하다. 그런데 현재는 대부분의 컴퓨터가 인터넷이라는 거대한 네트워크로 연결돼있으니 물리적인 연결을 신경쓰지 않아도 된다. 때문에 SW를 통한 데이터 송수신 방법만 고민하면 된다. 그런데 운영체제에서 '소켓'이라는 것을 제공하기 때문에 이 역시 고민할 필요가 없다. 소켓은 물리적으로 연결된 네트워크상에서 데이터 송수신에 사용할 수 있는 소프트웨어적인 장치를 의미한다. 그래서 데이터 송수신의 원리는 몰라도 소켓을 이용하면 데이터를 주고받을 수 있다. 이때 네트워크 프로그래밍을 소켓 프로그래밍이라고도 한다. 데이..
C# 네트워크 프로그래밍 네트워크 모델 네트워크의 세부 기능들은 매우 복잡하고 다양하기 때문에, 이를 체계적으로 분류한 개념적인 모델을 만들었는데 이를 네트워크 모델이라 한다. 네트워크 모델 중 가장 대표적인 모델은 2가지인데, 전통적인 네트어크 모델인 OSI 7 Layer 모델과(최근의 네트워크는 거의 대부분은 TCP/IP를 기반으로 하고 있기 때문에) OSI Layer를 단순화한 TCP/IP 모델이 있다. 네트워크 모델은 각 Layer가 해야하는 역할을 구분하고 있는데, 비유하자면 상품을 주문받아 고객에게 발송하는데, 주문받는 사람 따로 있고, 주문 내용대로 박스에 넣는 사람 따로 있고, 고객 주소 레이블 붙이는 사람 따로 있고, 박스에 적힌 주소대로 배달만 하는 사람 따로 있는 것과 비슷한 구조이다. OSI 7 Layer ..

반응형