본문 바로가기
반응형

TCP/IP3

[c++] TCP/IP 서버 클라이언트 설명 및 예제 코드 (소켓 프로그래밍) TCP(전송 제어 프로토콜)는 두 컴퓨터 간의 안정적인 통신을 설정하는 데 사용됩니다. TCP 서버와 클라이언트 코드를 통해 두 컴퓨터 간의 데이터를 전송할 수 있습니다. 이 문서에서는 C++로 작성된 TCP 서버와 클라이언트의 기본 예제 코드를 제공합니다. TCP 서버 코드 먼저 TCP 서버 코드는 소켓을 생성하고, (1. 소켓 생성) 포트 번호에 바인딩하고, (2. 바인딩) 들어오는 연결을 수신 대기하고, (3. 수신 대기) 들어오는 연결을 수락합니다. (4. 연결 수락) 소켓은 두 컴퓨터 간의 양방향 통신을 허용하는 엔드포인트를 의미합니다. 소켓은 통신 도메인, 소켓 유형 및 프로토콜을 제공하여 만들 수 있습니다. (IP 버전, 포트번호, TCP/UDP 프로토콜 등) 먼저, 통신 도메인은 소켓이 사.. 2023. 3. 20.
[TCP/IP] 멀티캐스팅 프로그래밍, 라우팅 테이블 업데이트 멀티캐스트란? 멀티캐스트(multicast)란 여러 호스트에게 데이터를 동시에 전송하는 것을 말합니다. 멀티캐스트가 수행되는 절차는 다음과 같습니다. 먼저, 클라이언트는 멀티캐스트 그룹에 참여 (join)해야 합니다. 멀티캐스트 그룹에 참여함으로써 해당 멀티캐스트 주소로 들어오는 데이터를 수신하고 싶다고 알릴 수 있습니다. 그룹에 참여하고 나면 서버가 멀티캐스트 주소로 데이터를 송신했을 때 멀티캐스트 그룹에 참여한 모든 클라이언트에게 데이터가 전달됩니다. 아래는 멀티캐스트 데이터 전송을 그림으로 표현한 것입니다. (ko.wikipedia.org/wiki/멀티캐스트) 멀티캐스트 주소 멀티캐스트 그룹에 참여하기 위해서는 멀티캐스트 주소를 이용해야 합니다. 그런데 모든 주소를 멀티캐스트 주소로 사용할 수 있는.. 2021. 1. 13.
[TCP/IP] 1. 네트워크, 패킷 그리고 프로토콜 네트워크, 패킷 그리고 프로토콜 컴퓨터 네트워크는 수많은 호스트 (host)와 라우터 (router) 장비들로 구성되어 있습니다. 호스트는 웹 브라우저나 파일 공유 프로그램들을 구동하는 컴퓨터를 의미합니다. 호스트에서 동작하는 응용 프로그램이야 말로 네트워크의 '실 사용자'라고 할 수 있습니다. 라우터 (=게이트웨이)는 하나의 통신 채널 (communication channel)로부터 온 정보들을 다른 통신 채널로 전달하는 장비입니다. 프로토콜은 통신 프로그램 사이에서 교환되는 패킷에 대한 약속이자 정의입니다. 그 중에서 TCP/IP는 이러한 문제를 해결하기 위한 프로토콜의 모음 (protocol suite)중 하나입니다. TCP/IP 프로토콜 집합체의 중요 프로토콜에는 IP, TCP, UDP가 있습니다.. 2020. 12. 18.
반응형