나는 클라이언트가 채팅 할 수있게 해주는 매우 기본적인 C 서버를 구현 중이다. 지금은 fork()를 사용하고 있지만 클라이언트가 서로의 메시지를 보도록하는 데 어려움을 겪고 있습니다.포크 기반 서버에서 클라이언트 - 클라이언트 통신이 가능합니까?
또한 모든 클라이언트가 accept()에서 동일한 파일 설명자를 얻는 것으로 보입니다. 기본적으로 누군가가 select(), accept(), connection() 및 fork()를 사용하여 연결하려는 경우 while 루프를 테스트합니다. 그 후 필자는 입력을 읽고 모든 사용자 (목록에있는 사용자)에게 전달하려고합니다. 필요한 경우 코드를 복사/붙여 넣을 수 있습니다.
클라이언트가 프로세스와 통신하도록 할 수 있습니까, 아니면 pthread를 사용해야합니까?
그래, 나는 이미 서버에있는 모든 클라이언트의 목록을 가지고있는 동안 직접 클라이언트 - 클라이언트 통신의 아이디어를 좋아하지 않는다. 내 생각에 pthreads는 ... – Novice
아니요, pthreads는 공통 가상 주소 공간을 공유합니다. –
pthreads로 처리 할 수 있음을 알고 있지만 가능한 경우 프로세스에서도 궁금합니다. 그것은 단지 로컬 채팅 서버입니다. – Novice