소켓 기반 프레임 워크없이 웹 기반 채팅 클라이언트를 구축 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/1046606

문제

웹 기반 채팅 고객이 다음과 같은 네트워킹 프레임 워크를 사용하는 경향이 있다고 들었습니다. 뒤틀린 프레임 워크.

그러나 네트워킹 프레임 워크없이 웹 기반 채팅 클라이언트를 구축 할 수 있습니까? Ajax 만 사이?

채팅이 끝났을 때 세션을 사용하여 세션 기반 일대일 웹 채팅 클라이언트를 구축하고 싶습니다. Ajax 만 사용하고 네트워킹 프레임 워크가없는 레일에서 가능합니까?

네트워킹 프레임 워크를 사용해야하며 앱을 사용하지 않기 위해 어떤 영향을 미칩니 까? 또한이 프로젝트에 접근하기위한 일반적인 권장 사항도 감사 할 것입니다.

도움이 되었습니까?

해결책

내가 당신을 올바르게 이해한다면, 당신은 클라이언트가 서버에 연결하고 서버를 통해 ajax를 통해 서로에게 메시지를 보내고 싶어합니다. 이것은 가능합니다.이를위한 두 가지 접근법이 있습니다.

쉬운 접근 방식은 몇 초마다 두 고객 설문 조사를 통해 다른 메시지가 게시 한 새 메시지를 확인하는 것입니다. 단점은 메시지가 즉시 전달되지 않는다는 것입니다. 나는 이것이 바로 발견 된 예라고 생각한다 레일 책.

보다 복잡한 접근 방식은 열린 연결을 유지하고 서버가 수신하자마자 클라이언트에게 메시지를 보냈습니다. 이렇게하려면 같은 것을 사용할 수 있습니다 절대적인 힘

나는 후자가 효과가 있지만 HTTP가 의도 한 것이 아니며 약간의 해킹이 아니라고 덧붙이고 싶습니다. 이것의 예제는 다음과 같습니다 레일 채팅 프로젝트 Juggernaut Motivative를 사용합니다.

다른 팁

기술적으로 말하면 모든 네트워크 기반 애플리케이션에는 네트워크 프레임 워크가있어서 그 아래에 네트워킹 프레임 워크가 있으므로 소켓 기반입니다 ...

여기서 유일한 질문은 모든 채터가 서버를 통과하거나 포인트 포인트 커뮤니케이션을 허용하고 싶은지 여부입니다. 전자 인 경우 Ajax 프레임 워크를 사용하여 웹 서버와 대화 할 수 있습니다. 이는 모든 고객이 웹 서버를 지속적으로 폴링하여 업데이트를 위해 지속적으로 투표 할 것임을 의미합니다.

나중에 두 클라이언트간에 직접 TCP 연결을 허용하고 금속에 조금 더 가까이 다가 가서 말해야합니다.

따라서 스스로에게 물어보십시오. 트래픽 비용을 지불하고 사람들이 고객에게 입력 할 수있는 모든 것을 공개하는 것에 대한 잠재적 책임을지고 싶습니까? 아니면 사람들이 서로 대화하는 데 사용할 수있는 채팅 프로그램을 구축 하시겠습니까?

물론, 그렇게하기 전에, 당신은 정말로 또 다른 채팅 클라이언트를 구축하고 싶습니까? 그 공간은 이미 꽤 붐비고 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top