나는 로컬 직렬 포트를 여러 네트워크 연결 클라이언트에 연결하는 서버 응용 프로그램을 작성 중입니다. 나는 프로그램을위한 장비가 제한된 메모리를 가진 라우터이기 때문에 서버 애플리케이션을 위해 리눅스와 C를 사용하고있다.동일한 정보를 여러 스레드/소켓으로 보냅니 까?
여러 클라이언트가 각 연결에 대해 fork() 프로세스를 사용하여 직렬 포트에 데이터를 연결하고 전송하도록 모든 설정을했습니다.
내 문제는 직렬 포트에서 들어오는 데이터를 다수의 클라이언트 연결로 보내는 것입니다. 내 문제는 각 활성 소켓에 들어오는 모든 데이터를 얻는 방법을 디자인하고 한 번만 가져 오는 것입니다. 어떤 도움이 필요합니까?
여러 개의 네트워크 클라이언트가 하나의 공통 직렬 인터페이스를 읽고 쓰고 있다고 하시겠습니까? 그것은 그것이 들리는 것 그러나 그것도 이상한 패턴입니다. – purpleamy
그게 전부입니다. 그것이 이상한 im wasnt 한 경우라면 그것은 쉬울 것이다. 안타깝게도 시리얼 인 네트워크 아웃은 중요한 방향입니다. 다른 방향은 각 스레드가 필요에 따라 직렬 포트에 직접 쓰면 더 쉬웠습니다. – scoutjoe
귀하의 디자인이나 요구 사항이 옳은 것인지 확신하지 못합니다. 직렬 포트에 매우주의해야합니다. 여러 스레드 대신'poll'이나'select'와 같은 멀티플렉싱 시스템 콜을 사용할 수 있습니다. –