【发布时间】:2016-03-23 09:18:37
【问题描述】:
我想在浏览器中向我的 UDP 服务器发送一个 UDP 包。听说HTML5或者WEBRTC可以做点什么,不知道怎么做。
有人可以帮我吗?
【问题讨论】:
-
你说的是用RTCDataChannel发送消息吗?
-
只要我可以使用浏览器向我的 udp 服务器发送一个 udp(我知道数据格式)就可以了
我想在浏览器中向我的 UDP 服务器发送一个 UDP 包。听说HTML5或者WEBRTC可以做点什么,不知道怎么做。
有人可以帮我吗?
【问题讨论】:
您可以编写一个 chrome 扩展程序(应用程序),让您可以访问 https://developer.chrome.com/apps/sockets_udp(manifest.json 中的"sockets": {...})。
或者,就 WebRTC 而言:
var pc = new webkitRTCPeerConnection(
{ "iceServers": [{ "url": "stun:localhost:1234" }] }
);
pc.createOffer(function (sessionDescription) {
pc.setLocalDescription(sessionDescription);
}, function(error) {
alert(error);
}, { 'mandatory': { 'OfferToReceiveAudio': true, 'OfferToReceiveVideo': true } });
然后您就可以通过以下方式在 localhost:1234 上获取 UDP 数据包:
$port = 1234
t = Thread.start do
server = UDPSocket.open
server.bind(nil, $port)
a = server.recvfrom(12364)
puts server.send "ping", 0, a[1][2], a[1][1]
end
t.join
【讨论】:
webkitRTCPeerConnection API 获得一些包,但它们似乎是加密的。我如何实际解析/阅读它?另外,我如何发送我的数据,例如一些文本?