基本的な拡張機能を開発したいと考えています。この拡張はUDPで通信する必要があります。この拡張機能はメッセージングに関するものです。私はクライアントを作成したい。私はJavaでサーバーを作成するので。クライアントはサーバーにメッセージを送信でき、サーバーはクライアントにメッセージを送信できます。UDPを使用したGoogle Chrome拡張機能
私はChrome Developerページをご覧ください。しかし、これらの文書は最新ではありません。私はこのような基本的なクライアントを作成します:
// values
var address = null;
var connect = null;
var disconnect = null;
// UDP-Object
var echoClient = null;
// -------------------------------------------------------------------------------------------------------------------
window.addEventListener("load", function() {
// input: address.val
address = document.getElementById("address");
// button: connect.val
connect = document.getElementById("connect");
// button: disconnect.val
disconnect = document.getElementById("disconnect");
// button: connect.func
connect.onclick = function(ev) {
if(address.value != ""){
echoClient = newEchoClient(address.value);
}
};
// button: disconnect.func
disconnect.onclick = function(ev) {
echoClient.disconnect();
}
// send data
setInterval(function(){
echoClient.sender();
}, 1000);
});
// -------------------------------------------------------------------------------------------------------------------
var newEchoClient = function(address) {
var ec = new chromeNetworking.clients.echoClient();
ec.sender = attachSend(ec);
var hostnamePort = address.split(":");
var hostname = hostnamePort[0];
var port = (hostnamePort[1] || 7) | 0;
ec.connect(
hostname, port,
function() {
console.log("Connected");
}
);
return ec;
};
var attachSend = function(client) {
var i = 1;
return function(e) {
var data = i;
i++;
client.echo(data, function() {
console.debug(data.data); // the problem is here
});
};
};
しかし、このコードは機能しません。 Chromeでこのエラーが発生しました:
Error in event handler for sockets.udp.onReceive: RangeError: byte length of Uint32Array should be a multiple of 4
at chrome-extension://boeaihphlidceiemkegklmbmefjgogfk/networking.js:84:25
at chrome-extension://boeaihphlidceiemkegklmbmefjgogfk/networking.js:31:34
どこが間違っていますか?この問題について私は何をしますか?