2012-10-18 2 views
0

웹 소켓을 구현하는 방법을 읽었습니다. 지금은 설치가 더 쉽기 때문에 fancywebsockets 구현을 살펴볼 예정입니다. 제 질문은 일반적으로 웹 소켓을 이해하는데 더 많은 도움이됩니다. 그래서 이것에 대해 몇 가지 분류를하고 싶습니다.보내는 데이터를 구분하는 웹 소켓

  1. 데이터를 수신하는 WS (I.E 클라이언트)가 보내는 데이터를 제어 할 수 있습니까?

  2. 어떻게 처리하겠습니까? 개인 메시지 시나리오에서는 메시지를 데이터베이스에 저장합니다. DB에 텍스트를 저장하고 화면에 메시지를 표시하면 WS는 다른 사람이 해당 페이지를 탐색 할 때 변경 사항을 어떻게 처리할까요? (WS는 해당 PAGE에서 발생한 모든 변경 사항을 청취합니까?). 분명한 예가 페이스 북에있을 것인데, 두 사람이 같은 벽을 탐색 할 때 벽 소유자의 업데이트가 보입니까?

  3. 조금 관련이 없지만 궁금한 질문이긴하지만. 웹 소켓을 통해 데이터를 실시간으로 업데이트 할 수 있다면 왜 포크 버전의 Google Wave 서비스를 만들지 않은 것일까 요? 모든 브라우저에 확실한 구현이 없기 때문입니까?

감사합니다.

답변

0

약 1. 정말이 질문을 이해하지 못합니다. 웹 소켓 연결은 TCP 연결과 동일합니다. 다시 보내기 전에 수신 날짜를 수정할 수 있습니다. Bristleback Server 간단한 예 (서버는 다음, 편집 된 사용자 상태의 미리보기를 얻을 불법 단어와 상태의 다음 완전한 미리보기를 포함하는 사용자에게 다시 전송됩니다 여부를 확인 :

@ActionClass 
public class ClientNotificationUpdateAction { 

    @Action 
    public UserStatus previewEditedStatus(FacebookUser user, UserStatus status) { 
    removeBadWords(status); 
    return status; 
    } 
} 

약 2 WebSocket을 서버에 대한 정보가 모든 연결된 사용자는 메시지를 모든 연결된 사용자에게 간단하게 보낼 수 있으며, 추가로 필터링하여이 친구에게만 알림을 보낼 수 있습니다. 클라이언트가 상태를 업데이트하고 모든 친구에게이 상태가 다시 전송됩니다.

@ActionClass 
public class ClientNotificationUpdateAction { 

    @ObjectSender 
    private ConditionObjectSender conditionObjectSender; 

    @Action 
    public void updateStatus(FacebookUser user, UserStatus status) throws Exception { 
    SendCondition sendToFriendsOfUser = new FiendsOfUserCondition(user); 

    BristleMessage message = ActionMessageFactory 
     .createMessage("ClientNotificationUpdate", "updateStatus", status); 
    conditionObjectSender.sendMessage(message, sendToFriendsOfUser); 
    } 
} 

약 3. 모든 인터넷 브라우저 웹 소켓 프로토콜 구현 (특히 모바일 장치에서)

관련 문제