본문 바로가기

c++를 이용한 byte order 변환 간단한 Byte Order관련 처리 내용이다. 인터넷 참조하여 심플하게 코드 수정하고 잡다한거 빼버리고, 외부 참조도 제거했다. C++전용이며, 가급적 이식성을 고려하여 작성하였다. short형이 좀 걸리지만. is_big_endian()은 별도 소스파일로 분리할 수 있지만, 배포를 고려하여 한 파일에 모두 넣어버렸다. 그냥 사용하면 됨.. 우왕굳!!! ^^; 작성:http://ospace.tistory.com/(ospace114@empal.com) 2011.08.11 Version 1.2: 이전(version 1.1)에 심각한 문제가 있어서 수정(endian 바뀜) 코드 /* Copyleft (C) 2011 ospace114@empal.com Filename: endian.h Version: 1.2 (.. 더보기
Socket에서 비동기 connect 처리하기 소켓 프로그래밍에서 비동기 방식으로 처리를 많이 사용하고 있다. 장점도 있고 단점도 있다. 그러나 최근 고성능 서버 프로그램 작성할 때에는 거의 대부분이 비동기 방식으로 처리한다. 이런 부분의 장점과 단점은 인터넷에 잘 나와있으니 알아서 찾아보시고, 여기에서는 서버 보다는 클라이언트에 집중해보려고 한다. 즉 접속를 하는 시스템을 집중하겠다. 사실 서버에서도 접속을 요청할 수 있다. 이는 push방식 인가 pull 방식 인가에 따라서 서버에서도 사용할 가능성 있다. 이런 push와 pull도 인터넷에서 검색하시길 바란다. 이제 본론으로 들어가보자. 작성일: 2009.09.25 (http://ospace.tistory.com/), ospace114@엠팔.컴 Connect 함수 기본적으로 소켓 생성이 끝나고 .. 더보기
ARP Protocol About ARP Protocol ARP 프로토콜은 IP 주소와 MAC 주소를 매핑시켜주는 프로토콜이다. IP를 MAC으로 매핑해주는 것은 ARP, MAC을 IP로 매핑 시켜주는 것은 RARP이다. 작성일: 2009.06.02 (http://ospace.tistory.com/), ospace114@엠팔.컴 ARP 패킷의 구조는 다음과 같다. ARP 기준으로 작동 방식을 설명하면 다음과 같다. 호스트 A가 D와 통신을 하려고 한다. 먼저 D로 가기 위한 MAC 주소를 획득해야한다. D의 IP주소는 알고 있다. 호스트 A는 ARP Request 패킷을 생성하고, Sender MAC과 IP주소를 자신의 주소로 채워넣고, Target IP 주소는 D의 IP주소를 채워놓고, Target의 MAC주소는 0으로 지정.. 더보기

반응형