epoll - 커널 2.4 기준

epoll - 커널 2.4 기준이 문서는 kernel2.4를 기반으로한 오래된 문서입니다. 기술적인 내용만 참고하고 으로 변경사항을 확인하면 될 것 같습니다. 일단 2.6은 커널패치나 라이브러리 없이 epoll을 지원하기 때문에, 2.6을 사용하는 지금은 라이브러리와 커널 설정 부분은 읽을 필요가 없습니다. 작성일 수정일 언제 날 잡아서 2.6에 맞...

libpcap을 이용한 프로그래밍

Libpcap(이하 pcap)은 "Portable Packet Capturing Library"의 줄임말이며, 해석그대로 "간단하게 패킷을 캡쳐하기 위한 함수모음(라이브러리)" 이다. 물론 pcap 외에도 패킷캡쳐를 위한 도구들이 있기는 하지만, 대부분의 경우 운영체제에 종속적이여서, 운영체제별로 코드를 다시 짜야 한다는 불편함이 있다. 대표적인 도구로는 ...

Port Scannig 검사툴

Port Scannig 검사툴...

Network 프로그래밍 시작하기

Network 프로그래밍 시작하기이제는 로컬에서만 돌아가는 애플리케이션은 전혀 없다고 봐도 된다. 아주 간단한 애플리케이션이 아닌한은 대부분 인터넷에 연결되어 있다. 동영상을 보여주는 미디어플레이어같은 인터넷에 연결될 필요가 없어 보였던 프로그램들도 인터넷을 통한 미디어검색, 업데이트등의 기능을 필요로 하면서 인터넷에 연결되고 있다.이러하다 보니 어떠한 ...

ICMP 프로그래밍

이문서는 실제로 ICMP 를 어떻게 이용할수 있는지에 대한 내용을 담고 있다. 간단한 ICMP 프로토콜에 대한 개요를 설명한후에 socket 를 이용해서 어떻게 ICMP 프로토콜의 사용이 가능한지에 대해서 얘기하게 될것이다....

InetDaemon 만들기

InetDaemon 만들기...

입출력 다중화 : poll

poll은 select 와 마찬가지로 다중입출력 을 구현하기 위한 방법으로 사용되며, 동시에 여러개의 클라이언트를 다루는 서버를 제작하기 위한 방법으로 흔히 사용된다. select 의 경우 입출력 이벤트가 발생했을 때 넘겨주는 정보가 너무 적음으로써, 프로그래밍시 여기에 신경을 써줘야 하는데 poll 을 이용하면 이러한 제한을 극복할수 있다. select ...

Socket API

Socket API완성이 되면 docbook(네트워크 환경은 매우 다양하며, 예측하기 힘든경우도 많이 발생한다. 때문에 네트워크프로그램의 종류에 따라서 소켓의 세부사항을 조절해야 하는 경우가 발생한다. 이러한 소켓옵션 설정을 위해서 소켓은 getsockopt()와 setsockopt()두개의 함수를 제공한다. 이름에서 알 수 있듯이 getsockopt는 ...

소켓 전달을 통한 prefork 서버 구현

소켓 전달을 통한 prefork 서버 구현fork()는 새로운 자식프로세스를 실행시키기 위해서 사용하며, 다수의 클라이언트를 동시에 처리하기 위해서 입출력다중화(이 방식의 단점이라면 fork()로 새로운 프로세스를 생성시키는 자체에 많은 비용이 들어간다는 점이 될 것이다. 이 문제를 해결하기 위해서 적당한 수만큼 프로세스를 미리 할당시켜 놓고, 새로운 연...

예제로 알아보는 소켓 프로그래밍

예제로 알아보는 소켓 프로그래밍 예제가 쓸데 스럽게 복잡함. 예제 프로그램을 echo 로 바꿔야 겠음. -- 2011/02/22 --이문서에서 소켓(여기에서는 이 사이트의 취지에 맞도록 가장 간단하게 접근할수 있는 방법, 즉 "문고리"를 잡는데에 까지만을 설명하도록 하며, Unix(Linux) 상에서가장 널리, 그리고 일반적으로 사용되는 INET(TCP/...