Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用webrtc将鼠标单击发送到不同的网络计算机_Javascript_Html_Webrtc - Fatal编程技术网

Javascript 使用webrtc将鼠标单击发送到不同的网络计算机

Javascript 使用webrtc将鼠标单击发送到不同的网络计算机,javascript,html,webrtc,Javascript,Html,Webrtc,我正在尝试使用webrtc将计算机“a”连接到计算机“b”,并在鼠标单击计算机“a”的画布时打印出计算机“b”上的“单击”。我已经创建了一个工作的webrtc示例,其中我在计算机“a”和“b”之间建立了连接,并使用文本框(聊天)在它们之间发送消息 我知道要将单击事件附加到文档。当用户单击文档中的任意位置时,将显示输出“单击” document.addEventListener("click", function(){ message.value= "Click!"; }); 这些是我拥有的一些

我正在尝试使用webrtc将计算机“a”连接到计算机“b”,并在鼠标单击计算机“a”的画布时打印出计算机“b”上的“单击”。我已经创建了一个工作的webrtc示例,其中我在计算机“a”和“b”之间建立了连接,并使用文本框(聊天)在它们之间发送消息

我知道要将单击事件附加到文档。当用户单击文档中的任意位置时,将显示输出“单击”

document.addEventListener("click", function(){
message.value= "Click!";
});
这些是我拥有的一些webrtc函数,我没有发布我所有的webrtc函数,因为我不想让问题变得更长,它已经是了

// a nice wrapper to send data
function send (room, key, data) {
roomRef.child(room).child(key).set(data);
}

// wrapper function to receive data
function recv (room, type, cb) {
roomRef.child(room).child(type).on("value", function (snapshot, key) {
    var data = snapshot.val();
    if (data) { cb(data); }
});
}
// get references to the document tags
var chatlog = document.getElementById("chatlog");
var message = document.getElementById("message");


function bindEvents () {
channel.onopen = function () { console.log("Channel Open"); }
channel.onmessage = function (e) {
    // add the message to the chat log
    chatlog.innerHTML += "<div>Peer says: " + e.data + "</div>";
};
}

// send a message the textbox throught
// the data channel for a chat program
function sendMessage () {
var msg = message.value;
channel.send(msg);
message.value = "";
}
//发送数据的好包装器
功能发送(房间、钥匙、数据){
roomRef.child(房间)。child(钥匙)。set(数据);
}
//用于接收数据的包装器函数
功能记录(房间、类型、cb){
roomRef.child(房间).child(类型).on(“值”),函数(快照,键){
var data=snapshot.val();
if(data){cb(data);}
});
}
//获取文档标记的引用
var chatlog=document.getElementById(“chatlog”);
var message=document.getElementById(“消息”);
函数bindEvents(){
channel.onopen=function(){console.log(“通道打开”);}
channel.onmessage=函数(e){
//将消息添加到聊天日志中
chatlog.innerHTML+=“同伴说:“+e.data+”;
};
}
//通过文本框发送消息
//聊天程序的数据通道
函数sendMessage(){
var msg=message.value;
频道发送(msg);
message.value=“”;
}
我的问题是我不知道如何将这两个代码连接在一起,或者即使我这样做了,我也不确定它是否会起作用。所以我的问题是如何在计算机“a”上点击画布,并让文本框在计算机“b”上打印“点击”


感谢阅读

您可以查看node.js和socket.io。
通过这两种方式,您可以将多个客户端连接在一起,并在它们之间进行实时通信。另一种选择是将ajax与php结合使用,让一个浏览器轮询来自服务器的新命令,另一个浏览器将它们发送到服务器。

您可以查看node.js和socket.io。
通过这两种方式,您可以将多个客户端连接在一起,并在它们之间进行实时通信。另一种选择是将ajax与php结合使用,让一个浏览器轮询来自服务器的新命令,另一个浏览器将它们发送到服务器。

您可以查看node.js和socket.io。
通过这两种方式,您可以将多个客户端连接在一起,并在它们之间进行实时通信。另一种选择是将ajax与php结合使用,让一个浏览器轮询来自服务器的新命令,另一个浏览器将它们发送到服务器。

您可以查看node.js和socket.io。
通过这两种方式,您可以将多个客户端连接在一起,并在它们之间进行实时通信。另一种选择是将ajax与php结合使用,让一个浏览器轮询来自服务器的新命令,另一个浏览器将它们发送到服务器。

您基本上做到了这一点。您可以做的是,在设置
message.value
属性后,调用
sendMessage()
函数。这将触发应用程序通过WebRTC连接发送正确的值。

您基本上就在那里。您可以做的是,在设置
message.value
属性后,调用
sendMessage()
函数。这将触发应用程序通过WebRTC连接发送正确的值。

您基本上就在那里。您可以做的是,在设置
message.value
属性后,调用
sendMessage()
函数。这将触发应用程序通过WebRTC连接发送正确的值。

您基本上就在那里。您可以做的是,在设置
message.value
属性后,调用
sendMessage()
函数。这将触发应用程序通过WebRTC连接发送正确的值。

谢谢您的建议。似乎因为我已经使用webrtc在两台计算机之间建立了连接并在它们之间发送消息,所以我认为在另一台计算机上捕获单击并写入“单击”不会太难。另外,我不熟悉ajax和php。您可以尝试的是在浏览器上(例如在画布上)获取一个单击事件,并通过webrtc将这些坐标发送到其他浏览器。在接收端,您必须模拟/或执行点击应该触发的动作。也许如果你解释一下你的目标,我可以给你一个更好的技术解决方案的建议:)谢谢你的建议劳里。似乎因为我已经使用webrtc在两台计算机之间建立了连接并在它们之间发送消息,所以我认为在另一台计算机上捕获单击并写入“单击”不会太难。另外,我不熟悉ajax和php。您可以尝试的是在浏览器上(例如在画布上)获取一个单击事件,并通过webrtc将这些坐标发送到其他浏览器。在接收端,您必须模拟/或执行点击应该触发的动作。也许如果你解释一下你的目标,我可以给你一个更好的技术解决方案的建议:)谢谢你的建议劳里。似乎因为我已经使用webrtc在两台计算机之间建立了连接并在它们之间发送消息,所以我认为在另一台计算机上捕获单击并写入“单击”不会太难。另外,我不熟悉ajax和php。您可以尝试的是在浏览器上(例如在画布上)获取一个单击事件,并通过webrtc将这些坐标发送到其他浏览器。在接收端,您必须模拟/或执行点击应该触发的动作。也许如果你解释一下你的目标,我可以给你一个更好的技术解决方案的建议:)谢谢你的建议劳里。好像我已经在两台计算机之间建立了连接