태그 : ace 요약보기전체보기목록닫기

1 2 3 4

HalfNetwork 0.6.5 릴리즈

C++ network library HalfNetwork 0.6.5 버젼이 릴리즈 되었습니다. 이전 버젼에 비해 안정성이 향상되었습니다.다음은 세부 개선사항입니다.VS2010 지원Reactor 안정화StressTestClient 예제 추가좀비 소켓 접속 해제 기능 추가타이머 기능 추가Proactor에서 동기/비동기 방식 Connect 지원ADO 방식의 ...

ACE_WIN32_Asynch_Write_Stream::writev() 의 잠재적 위험성

ACE Proactor에서 전송함수가 2가지 있습니다.ACE_Asynch_Write_Stream write(ACE_Message_Block &message_block, size_t bytes_to_write, ... );writev(ACE_Message_Block &message_block, size_t bytes_to_write, ......

HalfNetwork 0.6.0 릴리즈

http://code.google.com/p/halfnetwork/HalfNetwork 0.6.0을 릴리즈 했습니다. 이전 버젼과 가장 큰 차이점은 GCC지원 입니다. 같은 인터페이스로 윈도우와 리눅스에서 사용이 가능합니다. 하나 더 추가하자면 ACE를 내부에 내장하여 빌드가 간편해졌습니다. 인터페이스에는 크게 변화가 없기 때문에 기존에 사용하시던 분들...

Mac address 얻어오기

바로 ACE_OS::getmacaddress 입니다. ipconfig 에서 나오는 것처럼 만들려면(예를들면 00:01:a4:71:b0 처럼 ) 약간의 변환이 필요합니다.

우선순위 작업큐 만들기

Active Object Pattern on ACE 에서 이어지는 포스팅 입니다.  로직스레드에서 시간이 오래 걸리는 작업을 처리해 줄 수 없기 때문에 DB작업 같은 것을 다른 스레드에 요청을 합니다. 작업을 다른 스레드로 넘길때 Queue를 사용하는데, Queue는 FIFO 방식이라 먼저 넣은 작업이 먼저 처리됩니다. 하지만, 어떤 경우에는 ...

Active Object Pattern on ACE

게임서버를 작성하다보면 로직스레드 혹은 패킷처리 스레드에서 처리할수 없는 작업들이 있습니다. DB작업이 좋은 예인데, 블럭이 걸리기 때문에 별도의 스레드에서 처리를 해주어야 합니다. 정리하자면 로직 스레드에서 DB스레드에 이 작업을 처리해 달라고 요청을 해야하는 상황인데, 이럴때 Active Object 패턴을 적용할 수 있습니다.실행하면 아래와 같이 ...

플랫폼 독립적인 코드 작성

윈도우용으로 작성한 코드를 리눅스용으로 포팅할 일이 생겼는데, 다행히 ACE 기반으로 작성된 코드라 쉽게 포팅 할 수 있었습니다. 포팅중에 정리해둔 것을 옮겨봅니다. 대소문자의 명확한 구분 파일을 지칭할때 윈도우와 달리 리눅스는 대소문자를 명확하게 구분합니다. 윈도우에서 그냥 넘어갔던 코드가 문제가 생길수 있습니다. 대부분 include에서 문제가 발생...

ACE_Message_Block의 chained block 기능

ACE_Message_Block은 고정 크기 및 가변 크기 버퍼를 효과적으로 관리하기 위한 클래스 입니다.  데이터 복사, read ptr, write ptr 관리, 레퍼런스 카운팅 등 여러가지 편리한 기능들을 제공합니다. 그중의 하나인 chained block 기능을 소개합니다.코드로 먼저 보여드리죠.ACE_Message_Block* head...

Ubuntu에서 ACE 설치

원문은 http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html 입니다.Unix(혹은 Linux)에서 ACE를 컴파일하는 방법이 두가지가 있다고 나와 있습니다.GNU Autoconf 를 이용하는 방법전형적인 configuration 방법1번 방법으로 시도해보았으나, 잘 되지 않아서 포럼에...

바람직한 Producer-Consumer 모델

가마수트라에 멀티스레딩 관련해서 좋은 글이 있어서 부분적으로 옮겨봤습니다. 원문은 여기 입니다. 새로운 개념은 아니지만 기본 개념을 잘 설명하고 있습니다. 이벤트는 다른 스레드에서 신호를 받는 수단입니다. 한 스레드에서는 다른 스레드에서 신호를 받기 전까지 대기할 수 있습니다. 아래 예제에서는 두 스레드간에 어떻게 이벤트를 사용하는지 보여줍니다. 왼쪽의...
1 2 3 4