이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 64|회답: 0

TCP 통신을 통한 UNIX 도메인 소켓(UDS)

[링크 복사]
게시됨 2026. 3. 2. 오후 2:03:34 | | | |
요구사항: 서버 A의 프로그램이 UDS 리스닝만 활성화되어 있다면, 서버 B가 서버 A의 프로그램을 호출하고 싶다면 어떻게 해야 하나요? TCP를 통해 UNIX 도메인 소켓(UDS)을 사용해 서버 A에서 서버 B로 프로세스를 전달할 수 있습니다.

복습
Nginx 리버스 프록시 php-fpm은 UDS를 사용하여 통신합니다
https://www.itsvse.com/thread-11068-1-1.html

Nginx 리버스 프록시 ASP.NET 코어는 UDS 통신을 사용합니다
https://www.itsvse.com/thread-11069-1-1.html

.NET/C# 프로세스는 gRPC와 Unix 도메인 소켓 간에 통신합니다
https://www.itsvse.com/thread-11051-1-1.html

UNIX 도메인 소켓은 파일 시스템 내 파일이 아닌 파일 경로를 기반으로 한 프로세스 간 통신 메커니즘입니다. SFTP나 SSHFS를 사용하더라도 UNIX 도메인 소켓은 네트워크를 통해 접근할 수 없습니다.

Socat은 UNIX 도메인 소켓을 사용합니다

설치 명령:
서버 시작

먼저, 서버 프로세스 /tmp/example-server.sock이 "server-program"이라는 서버를 듣는다고 합시다. /tmp/example-server.sock 다른 호스트에서 이 소켓에 연결해 접근할 수 있다면, 이를 UNIX 도메인 소켓으로 사용함으로써 네트워크를 능가했다고 말할 수 있습니다.

그냥 테스트해보고 싶으면 Socat을 사용할 수 있습니다.
테스트 호출, 명령은 다음과 같습니다:
아래에 나와 있습니다:



또는 아래 설명과 같이 socat 명령어를 사용해 연결하세요:



TCP 연결 사용

서버 프로세스가 실행 중인 호스트에서 socat 명령을 사용하세요.
원격 호스트에서 TCP에 연결

같은 이름의 UNIX 도메인 소켓을 감지하여 서버 프로세스가 실행되는 호스트에 연결합니다.
원격 호스트의 클라이언트를 사용하세요

이제 모든 준비가 끝났으니, 네트워크를 통해 서버 프로세스에 연결해 봅시다. 테스트해보고 싶다면 Socat을 사용할 수 있습니다.

OpenSSH 사용

SSH 접근 권한이 있다면 더 쉬운 방법이 있습니다. /tmp/example-server.sock 먼저, 서버 호스트를 시작하세요(생략). 클라이언트 호스트에서 -L을 사용하세요. 명령어는 다음과 같습니다:
이제 클라이언트 호스트에서 접근할 수 있습니다.




이전의:프론트엔드 성능 최적화: XMLHttpRequest 대신 fetch 인터페이스를 도입
다음:네트워크 ICMP(인터넷 제어 메시지 프로토콜)에 대한 간략한 소개.
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com