2013-07-15 116 views
0

是否可以通過websocket或datachannel與webrtc(將來)發送字符?我正在尋找兩個或更多瀏覽器之間的實時文本通信,並且由多個用戶並行編輯文本。例如:一個寫一個文本(逐個字符),另一個同時修正相同的文本。通過websocket或WebRTC的數據通道發送字符?

謝謝

回答

1

嗯,我沒有使用過的WebRTC數據通道,但考慮到他們的API是類似的WebSockets,我認爲你需要的是絕對可行的,你只是想在發送一個字符時間,或發送一條包含角色及其位置以及您需要的任何其他信息的消息。 東西在線

var websocket = new WebSocket("server address"); 

websocket.onmessage = function(message) { 
    console.log("Character sent: ", JSON.parse(message)); 
}; 

// somewhere in your code 
websocket.send(JSON.stringify({ 
    position: 42, 
    character: 'a' 
})); 
+0

這聽起來很容易。字符將如何設置到文本框中的位置? keyup後會執行函數websocket.send嗎? – argonist

+0

您需要偵聽'keyUp'或'input'事件。 'input'更好,因爲它只在實際輸入時觸發,而在每次按鍵時輸入'keyUp'(輸入,箭頭)。如果在你的應用程序中用戶只輸入文本或者只能刪除最後一個字符,那麼你完全不需要一個位置,你只需要輸入兩個消息類型一個用於輸入,一個用於刪除。如果你的用戶可以在任意位置編輯文本,那麼它變得更加困難,但是你可以在Stackoverflow上搜索如何獲取光標位置和字符位置 –