
Windows API를 사용하여 특정 소켓에 대한 소켓 ID(SOCKET 또는 소켓 핸들)에서 해당 프로세스 ID(PID)를 찾는 방법에 대해 설명하겠습니다. Windows에서는 일반적으로 SOCKET 핸들과 직접적으로 관련된 API가 없기 때문에 소켓 ID에서 PID를 얻기 위해 네트워크 연결 테이블을 탐색해야 합니다.GetExtendedTcpTable 및 GetExtendedUdpTable 함수를 사용하여 시스템의 모든 TCP/UDP 연결을 조회하고, 해당 테이블에서 일치하는 소켓 핸들을 찾아서 그에 대응하는 PID를 얻을 수 있습니다.아래는 C++로 작성된 예제로, 주어진 SOCKET 핸들에서 PID를 찾는 방법을 보여줍니다. 이 예제에서는 TCP 연결을 대상으로 합니다.#include #inclu..
일반적인 FD 닫기를 구현 할 때 아래와 같이 구현 한다.하지만 개발 할 때 우리가 지속적으로 생각해 봐야 할 부분에 대해서 작성해 보았습니다. void CloseSockFD(){ struct rlimit rlim; // 현재 프로세스에 대해 열 수 있는 파일 디스크립터의 최대 개수를 조회합니다. if (getrlimit(RLIMIT_NOFILE, &rlim) == -1) return; // 조회에 실패하면 함수를 종료합니다. for (rlim_t idxFD = 0; idxFD 1. 불필요한 검사 최소화현재 구현에서는 유효하지 않은 파일 디스크립터에 대한 fstat 호출을 시도한 후 오류를 확인합니다. 대신, 열린 파일 디스크립터의 집합을 관리하고, 이 집합에 대해서만 fstat를 호출하는 방식으로 ..
- Total
- Today
- Yesterday
- C++
- Build
- 스쿠버다이빙
- C# 고급 기술
- 제주도
- 서귀포블루버블
- 성산블루버블
- 스쿠버 다이빙
- 현포다이브
- CMake
- Thread
- 울릉도
- 외돌개
- Linux
- 블루버블다이브팀
- DLL
- 패턴
- 리눅스
- 암호화
- ip
- 윈도우
- 서귀포
- 블루버블다이빙팀
- C#.NET
- C
- C#
- 블루버블
- Windows
- PowerShell
- OpenSource
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |