TCP를 통해 모든 장치를 전송할 수 있나요?

TCP를 통해 모든 장치를 전송할 수 있나요?

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

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

답변1

이것이 USB 장치라면 당신이 찾고 있는 것은 수년 동안 작동할 것입니다USB/IP. 금후리눅스 3.17에서 도입됨. usbip유사한 Debian 시스템의 패키지를 참조하세요 . Linux 서버에 연결된 USB 장치에 액세스하는 Windows 클라이언트가 있을 수도 있습니다.

블록 장치의 경우 Linux는 이미 다음을 제공합니다.네트워크 블록 장치더 오랜 기간 동안 지원됩니다.

답변2

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

관련 정보