2013-08-04 2 views
0

음, 나는 간단한 ajax 채팅 응용 프로그램을 가지고 있습니다. 이 방법으로 작동합니다 .. 사용자가 1 초 간격으로 새 메시지에 대한 http ajax 요청을 보냅니다. 서버는 해당 사용자에 대해 새 메시지가 있는지 확인합니다. 새 메시지가있는 경우 서버는 json 형식으로 인코딩하고 사용자에게 전송합니다.ajax 채팅에서 소켓 지원을 추가하는 방법은 무엇입니까?

이제 아약스 채팅과 소켓 채팅을 동시에 결합하는 방법이 궁금합니다. 그래서 일부 사용자는 소켓 기반 장치를 사용하여 채팅 할 수 있으며 일부는 아약스를 사용할 수 있습니다.

+0

모든 네트워크 통신은 "소켓 기반"입니다. 좀 더 구체적이어야합니다. 또한 스택 오버 플로우는 특정 기술적 인 문제를 해결하는 데 도움이됩니다. 이것에 대해 무엇을 시도 했습니까/연구 했습니까? – xaxxon

+0

모든 통신은 소켓 기반이라는 것을 알고 있습니다. 아약스는 http 포트 80을 사용하고 있습니다. 프로그래밍의 마스터가 아닙니다. 그러나 내가 아는 한 소켓 dost는 그 메시지를 저장하지 않습니다. 나는 누군가를 안내하거나 가르쳐 준다면 좋을 것이다. –

답변

0

오케이,이 문제를 해결하는 아키텍처가 있습니다. 처음으로, 아약스 기반 채팅을 할 때 우리는 모두 새 메시지를 확인하고 새로운 메시지를 발견하면 채팅 상대에게 보여줍니다. 소켓 프로그래밍에서 대상 사용자를 기준으로 새 메시지가 오면 메시지를 던집니다. 그래서 해결책은 입니다. 먼저 모든 데이터를 데이터베이스에 저장해야하며 Ajax 채팅과 같은 간격으로 소켓 이벤트를 확인해야합니다.

우리는 무거운 서버 부하를 지불하고 있기 때문에 현장을 만들지는 못하지만, 현재로서는 이것이 해결책입니다.

관련 문제