2013-10-20 2 views
0

이론적으로 완료 한 매우 쉬운 과제가 있습니다. UDP를 사용하여 통신하는 채팅 프로그램입니다. 우리가 원하는 기능을 구현하는 것은 우리에게 달려 있으며, 직접 구현하기 위해 최선을 다할 것입니다. 그러나 핵심 아이디어를 구현하는 데 어려움을 겪고있는 것 같습니다 : 서버와 클라이언트 모두의 프로그램.UDP 클라이언트/서버 결합 C 프로젝트

어디에서나 나는 UDP 데이터 그램 교환을위한 두 개의 개별 응용 프로그램을 보았습니다. 그것은 항상 client.c와 server.c이고 나는 왜 궁금해하고있었습니다. Simple Chat Protocol diagram

이것은 내가 생각해 낸 다이어그램입니다. 기본적으로 상태를 변경하기 위해 상태 시스템 모델과 이벤트를 사용하고 있습니다.

프로그램의 START 상태가 LISTEN이고 SEND 인 예제를 찾을 수 없었던 이유를 말해 줄 수 있습니까? 나는 그것이 가능하지 않아야하는 이유를 볼 수 없다.

+0

, 또는 문제를 과도하게 지정 : 왜 여기 예입니다. 이것은 프로그래밍 질문이 아니며, 당신의 직접적인 과거사에 관한 질문 일뿐입니다. – EJP

+0

@EJP 충분히 열심히하지 않으십니까? 많은 키워드를 사용하여 검색을 시도했으며 페이지를 검토했습니다. Beej의 페이지 (http://www.beej.us/guide/bgnet/output/html/multipage/clientserver.html#simpleserver)도 두 가지 프로그램을 제공합니다. 내가 당신에게 질문을 다시 말해 보자. 결합 된 UDP 클라이언트/서버 예제를 제공 할 수 있는가? – user2899235

+0

@ user2899235 대부분의 예제는 일반적으로 예제 일뿐입니다. 그렇기 때문에 그들은 가능한 작고 고립되어 있습니다. 소켓의 경우 예제를 분리하는 자연스러운 방법 중 하나는 클라이언트와 서버로 나누는 것입니다. 그러나 당신은 절대적으로 옳습니다. 클라이언트와 서버의 역할을하는 프로그램을 만드는 것을 막을 수있는 프로그램은 없으며 많은 실제 프로그램이 그런 식으로 행동합니다. – nos

답변