TCP를 통해 모든 장치를 전송할 수 있습니까?

TCP를 통해 모든 장치를 전송할 수 있습니까?

TCP를 통해 /dev 항목에서와 같이 전체 장치를 전송할 수 있습니까? 예를 들어 TCP 또는 마우스/rs232 포트/프레임 버퍼 개발, 사운드 카드 개발, 디스크 등을 통한 조이스틱 전송에 대해 이야기하고 있습니다.

저는 원격 마우스/키보드용 전문 소프트웨어보다 더 일반적인 방식으로 키보드, 조이스틱, 태블릿, 마우스 등의 입력 장치에 주로 관심이 있습니다.

답변1

그것이 USB 장치라면 당신이 찾고 있는 것은 수년 동안 가능했습니다.USB/IP. 그 이후로Linux 3.17에 도입됨. usbipDebian 계열 시스템의 패키지를 참조하세요 . Windows 클라이언트가 있을 수도 있습니다(예: Linux 서버에 연결된 USB 장치에 액세스).

블록 장치에 관해서는 Linux가 제공하고 있습니다.네트워크 블록 장치훨씬 더 오랫동안 지원합니다.

답변2

예, 최소한 마우스와 같은 간단한 장치에서는 이 작업을 수행할 수 있지만 일부 코드를 작성해야 합니다. 기본적으로 장치와 통신하는 물리적 장치가 있는 머신에 프로세스가 있습니다. 그런 다음 이 프로세스는 TCP를 통해 프로토콜을 다른 호스트로 전송합니다. 수신 프로세스는 최종 프로세스(X11 서버 또는 Wayland 컴포지터)가 볼 것으로 예상되는 모든 인터페이스를 에뮬레이트해야 합니다. 가장 간단한 경우 수신자는 데이터가 기록되고 일반적으로 사용되는 장치 파일을 대체하는 명명된 파이프를 설정할 수 있습니다.

관련 정보