본문 바로가기

openssl에서 nonblock socket으로 ssl 연결 최근 대용량 고속 처리가 대두 되면서 비동기 소켓 처리가 많이 늘어나고 있다. 더욱이 최근 보안이 중요해지면서 ssl에 의한 암호화된 채널 지원도 필요로 하고 있다. 이전에는 단순히 동기 형태의 소켓으로 무리 없이 간단한 통신에서는 문제가 없었지만, 서버에서 대용량 처리가 필요로 하게 되면서 기존 방식으로는 무리가 생기게 된다. 여기서는 비동기로 SSL를 통현 채널을 연결 및 데이터 송수신을 처리하는 간단한 예제를 살펴보겠다. 작성자: http://ospace.tistory.com/,2013.05.07 (ospace114@empal.com) 공통 코드 이 부분은 다음에 나오는 예제에서 사용되는 공통으로 사용되는 코드를 정리해 두었다. 단순히 편하게 사용하게 위해서 급조했기 때문에 혼동의 우려가 있을 수 .. 더보기
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 함수 기본적으로 소켓 생성이 끝나고 .. 더보기
Socket에서 select사용하기 Socket를 사용하는 방법은 다양합니다. 그중에 비동기를 사용한 방법이 있습니다. 대표적인 것이 linux의 select나 poll 등이 있습니다. 여기서는 select라는 것을 사용한 구현을 보도록 하겠습니다. 물론 poll이나 다른 방식들도 있지만, 기본적인 개념을 이해하기에는 select가 충분하다고 봅니다. 일단 기본 적인 socket 사용 법에 대해 알고 있다고 생각하고 select를 이용하여 구현하겠습다. 코드는 100%완벽하지 않으므로 중간에 문제점이 있을 것 같은 부분은 언급은 하겠지만, 일단 select 자체에 대해 더욱 집중을 해서 설명하도록 하겠습니다. 작성:http://ospace.tistory.com/(ospace114@empal.com) 2009.01.15 Select 살펴보기.. 더보기

반응형