1
我嘗試創建html5白板。在白板中,使用svgcanavas js庫的內容是svgformat(就像文本一樣)。正在更新所有其他的白板內容誰已經加入會話這樣與jquery&php共享文本
function change() {
var svg = $('#svgcanvas').html();
//$('body').html(hi);
$.post("php/update.php", { svg: svg });
}
setInterval("change()",100);
PHP是這樣
<?php
$svg = $_POST['svg'];
$myFile = "svg.tmp";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = $svg;
fwrite($fh, $stringData);
fclose($fh);
?>
和客戶端的js
function get() {
$.get('php/get.php', function(data) {
$('#svgcanvas').html(data);
});
}
setInterval("get()",100);
和PHP
<?php
$file = "svg.tmp";
$fh = fopen($file, 'r');
$theData = fread($fh, filesize($file));
echo $theData;
fclose($fh);
?>
The使用此白板一次最多隻能有20人。有沒有更好的方法來進行同步。 有沒有一種方法可以只檢測已經改變的行並單獨更新?,因爲文件大小不斷增加,並且需要更長的時間。
所以我想知道:
- 這是我能做到的最好的方法是什麼?
- 有沒有辦法只檢測到 在svg中更改的行,並單獨更新?
- 當20個人訪問同一個文件時,這項工作是否可以工作?
svg.tmp
?
我不能在這看到任何錯誤。雖然我會建議你也使用json – kritya
已更新我的問題。現在我明白了爲什麼沒有人回答:)我不清楚。 – esafwan
你有這個我可以叉的Git回購? – CAM