ChromeネットワークAPIを使用して、データ(サーバーとクライアント)のリッスンと送信の両方を行うUDPソケットを開いています。だから私は//でサーバーの方法を使用してbind
いsendTo
ますrecvFrom
。
ただし、ローカルホスト以外のホストにデータを送信することはできません。以下の例を参照してください。コードエラーはに-109
対応しADDRESS_UNREACHABLE
ます。
chrome.socket.create('udp', function(socketInfo) {
var socketId = socketInfo.socketId;
chrome.socket.bind(socketId, '127.0.0.1', 3008, function(s) {
chrome.socket.getInfo(socketId, function(info) {
console.log(info);
// {connected: false, localAddress: "127.0.0.1", localPort: 3008, socketType: "udp"}
});
var arr = new Uint8Array(1);
arr[0] = 123;
var ab = arr.buffer;
chrome.socket.sendTo(socketId, ab, "127.0.0.1", 3007, function(sendResult) {
console.log("sendTo", sendResult);
//sendTo {bytesWritten: 1}
});
chrome.socket.sendTo(socketId, ab, "google.com", 3007, function(sendResult) {
console.log("sendTo", sendResult);
//sendTo {bytesWritten: -109}
});
});
});
私の権限は、制限の少ないものです:udp-send-to
とudp-bind
。
connect
/ wayの使用はwrite
機能しますが、サーバーとクライアントよりも同時にソケットを開こうとしているので、それは私が達成したいことではありません。
何か案が ?