
CFileMon 클래스 설계 및 구현개요CFileMon 클래스는 특정 파일의 변경 사항을 감지하며, Windows와 POSIX 환경 모두에서 작동하도록 설계되었습니다. Named Mutex를 활용하여 다중 프로세스 동기화를 보장하며, 파일이 삭제되거나 수정되는 상황에 안정적으로 대응합니다.주요 기능Windows 및 POSIX 환경 지원Named Mutex를 활용하여 다중 프로세스 동기화파일 변경 시 해시를 비교하여 변경 여부 감지파일이 삭제되거나 접근 불가한 경우 예외 처리주기적인 파일 상태 확인 (스레드 기반 구현)플랫폼별 구현WindowsNamed Mutex를 CreateMutexA로 생성WaitForSingleObject와 ReleaseMutex로 동기화 관리파일 존재 확인은 std::filesys..

IOCP, Boost.Asio, epoll 예제1. IOCP (Windows)플랫폼: Windows설명: IOCP는 Windows에서 제공하는 비동기 I/O 처리 메커니즘으로, 고성능 네트워크 서버를 구축할 때 사용됩니다.예제 코드:#include #include #include #include #include #pragma comment(lib, "Ws2_32.lib")struct ClientContext { OVERLAPPED overlapped; SOCKET socket; char buffer[1024];};void workerThread(HANDLE iocpHandle) { DWORD bytesTransferred; ULONG_PTR completionKey; LP..

IOCP, Boost.Asio, epoll 비교 1. IOCP (I/O Completion Port) 플랫폼: Windows 설명: Microsoft에서 제공하는 고성능 비동기 I/O 처리 기술로, 소켓, 파일, 파이프 등을 효율적으로 처리합니다. 주요 특징: 완료 기반 이벤트 모델 (비동기 작업 완료 시만 처리). 스레드 풀을 활용한 효율적인 CPU 사용. 수십만 개의 동시 연결을 처리할 수 있는 고성능. 2. Boost.Asio 플랫폼: 크로스 플랫폼 (Windows, Linux, macOS) 설명: Boost 라이브러리의 일부로, 고성능 비동기 I/O를 제공하며, 플랫폼별 메커니즘(IOCP, epoll 등)을 ..

ACE 라이브러리 설명ACE(The Adaptive Communication Environment)는 네트워크 및 분산 시스템 개발을 지원하기 위한 C++ 기반의 오픈소스 라이브러리입니다. 네트워크 소켓, 멀티스레드, 동기화 제어 등의 기능을 제공합니다.주요 특징이식성: 다양한 플랫폼에서 동작.높은 성능: 멀티스레드 및 이벤트 기반 프로그래밍 지원.모듈화된 디자인: 필요한 기능만 선택적으로 사용 가능.클라이언트-서버 통신 C++ 예제 코드서버 코드// 서버 코드 (server.cpp)#include #include #include #include #include int main() { ACE_INET_Addr port(8080); ACE_SOCK_Acceptor acceptor; if (..

Get Public IP in C++This code uses libcurl to retrieve the public IP address by making an HTTP request to http://api.ipify.org.#include #include #include size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* userp) { userp->append((char*)contents, size * nmemb); return size * nmemb;}std::string GetPublicIP() { CURL* curl; CURLcode res; std::string readBuffer..

GetMyIPs C++ CodeThis code retrieves the IP addresses of the system's network interfaces on both Windows and Linux platforms using C++14.#include #include #include // Platform-specific includes#ifdef _WIN32#include #include #pragma comment(lib, "ws2_32.lib")#else#include #include #include #include #include #endifstd::vector GetMyIPs() { std::vector ipAddresses;#ifdef _WIN32 // Initialize W..
- Total
- Today
- Yesterday
- 리눅스
- 현포다이브
- DLL
- 스쿠버다이빙
- 블루버블다이브팀
- PowerShell
- 성산블루버블
- OpenSource
- 패턴
- CMake
- 제주도
- 암호화
- C# 고급 기술
- 서귀포
- C#
- 윈도우
- 서귀포블루버블
- Thread
- C
- Windows
- 울릉도
- ip
- Build
- 블루버블
- Linux
- ReFS
- C++
- 디자인패턴
- 블루버블다이빙팀
- 다이빙
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |