본문 바로가기
반응형

SWE/네트워크9

Unicast / Broadcast / Multicast 개념 Unicast란? - 1개의 발신자 , 1개의 수신자 - 원투원(one to one) 전달 - 예를 들면 네트워크에서 10.1.2.0 ip를 가지는 디바이스가 20.12.4.2 ip를 가지는 디바이스에게 데이터 패킷을 전송하고 싶으면, unicast - 네트워크를 통한 데이터 전송의 보편적인 방식이다. Broadcast란? - 1개의 발신자와 전체의 수신자 - 원투올(one to all) 전송 기법 - braodcast 2가지로 나눌 수 있음 제한적인 브로드캐스팅 (limited broadcasting) - "같은 네트워크망"에 있는 디바이스들 모두에게 데이터패킷을 전송하는 방법 이게 가능하려면 ip의 모든 bit를 1로 설정해야 한다. (255.255.255.255 - limited broadca.. 2022. 9. 13.
소켓 통신 프로그래밍 socket | 논블로킹 poll 테스트 코드 한 번 보면 잊을 수 없는 짤 비동기는 커피 진동벨, 외우자 비동기는 준비되면 알려드릴게요~ 소켓의 동작 모드 Blocking - 블러킹 모드의 소켓이란 네트워크 시스템이 실행을 완료할 때까지 응용프로그램의 프로세스가 블러킹 되는 소켓이다. - 예를 들면 accept()는 실행을 완료할 때(커넥션이 있을 때)까지까지 호출한 클래스를 블러킹하고 있는다. - 전통적인 unix 시스템 콜들은 모두 blocking이다. (listen, accept, connect, send, recv, close 등) NonBlocking - 비블로킹 모드의 소켓이란 일단 결과를 바로 반환해서, 응용 프로그램의 프로세스가 차단되지 않는 소켓을 말한다. Asynchronous - 비동기 모드는 비블로킹 모드에서처럼 차단될 수 있.. 2022. 9. 13.
간편한 IP 확인 방법 | 윈도우 | 리눅스 리눅스에서 ip 확인하는 방법 1. 터미널 창 열기 - 단축키 ctrl+alt+t 2. 명령어 입력 $ ifconfig 윈도우에서 ip확인하는 방법 1. 실행열기 - 단축키 Windows+r 2.명령 프롬프트(cmd)열기 - cmd 입력 3.명령어 입력 > ipconfig 2022. 9. 2.
non-blocking I/O | TCP Socket 통신 출처: 전통적인 unix 시스템 콜은 blocking이다. 예를 들면 accept()는 커넥션이 있을 때까지 호출한 클래스를 블럭한다. 만약 소켓에서 메시지를 전송하기 위해 저장해야하는 메시지 버퍼의 크기가 충분하지 않으면, send()를 블럭한다. 반대로 소켓에서 새로 들어온 메시지가 없다면, 새로운 메시지가 도착할 때까지 recv() 콜은 기다린다. 우리는 서버를 구축할 때, 많은 종류의 이벤트에 반응할 수 있도록 항시 대기여야 한다. 예를 들어, 새로운 커넥션이 만들어질 수 있고, 클라이언트가 우리에게 요청을 보낼 수 있고, 클라이언트가 커넥션을 끊을 수도 있다. 만약 우리가 accept()를 호출해야 한다면, 이 호출은 프로그램을 블럭시킬 것이고, 우리는 다른 이벤트에 응답하는 능력을 잃게 된다... 2022. 6. 9.
반응형