저도 예전에 로컬용도로 제작한 채팅 프로그램이 있었는데..
로컬에서만 쓰기 때문에 특별히 IP를 요구 하지 않아도
되도록, 서버프로그램을 통해서 질의를 요청하면, 서버
프로그램이 현재 연결된 클라이언트 IP들을 새로 접속한
클라이언트에 보내서 그 이후론 그 IP들끼리 채팅이 가능
하도록 했습니다.
뭐 일단 클라이언트들이 모여서 채팅을 하는 동안 서버
프로그램을 종료 해도 이미 클라이언트가 다른 클라이언트들의
IP를 모두 가지고 있기 때문에 채팅은 계속 할 수 있었죠..
뭐 그 이후에 서버 프로그램을 다시 실행하면 다시 위의
IP로 브로드캐스팅 해서 클라이언트들롤 부터 IP를 다시
받아와서 다시 관리를 해주는 방식이지요..
단 서버가 실행중일땐, 서버가 관여할 수도 있고(모든 메세지가
서버를 통해서 전달) 또는 그렇지 않을 수도 (클라이언트들끼리
직접 메세지 교환) 있게되지요...
브로드 캐스팅할 수 있습니다.
저도 예전에 로컬용도로 제작한 채팅 프로그램이 있었는데..
로컬에서만 쓰기 때문에 특별히 IP를 요구 하지 않아도
되도록, 서버프로그램을 통해서 질의를 요청하면, 서버
프로그램이 현재 연결된 클라이언트 IP들을 새로 접속한
클라이언트에 보내서 그 이후론 그 IP들끼리 채팅이 가능
하도록 했습니다.
뭐 일단 클라이언트들이 모여서 채팅을 하는 동안 서버
프로그램을 종료 해도 이미 클라이언트가 다른 클라이언트들의
IP를 모두 가지고 있기 때문에 채팅은 계속 할 수 있었죠..
뭐 그 이후에 서버 프로그램을 다시 실행하면 다시 위의
IP로 브로드캐스팅 해서 클라이언트들롤 부터 IP를 다시
받아와서 다시 관리를 해주는 방식이지요..
단 서버가 실행중일땐, 서버가 관여할 수도 있고(모든 메세지가
서버를 통해서 전달) 또는 그렇지 않을 수도 (클라이언트들끼리
직접 메세지 교환) 있게되지요...
뭐 제가 했었던 경험담 이지만, 검색은 어떻게 하는지 아직
해본적이 없어서 -_-;;;