我正在尝试在使用Cordova创建的Android应用程序和在Windows计算机上运行的应用程序之间发送数据; Windows机器上的应用程序需要TCP协议。我以前和Cordova一起工作过,但是我没有为Cordova使用过很多插件 - 因此我很难设置插件 - 而套接字编程对我来说并不熟悉。
Anywho,我读到我可以在某处使用带有Cordova的chrome.socket,所以我尝试过这样做,但我只收到错误,表明“chrome”未定义。
我首先通过命令行安装了插件:cordova plugin add org.chromium.socket
然后它出现在我的Cordova应用程序的plugins目录中。
然后,我在我的应用程序中包含以下代码:
var dataString = "Message to send";
var data = new Uint8Array(dataString.length);
for (var i = 0; i < data.length; i++) {
data[i] = dataString.charCodeAt(i);
}
try {
chrome.socket.create("tcp", function(createInfo) {
var socketId = createInfo.socketId;
try {
chrome.socket.connect(socketId, hostname, port, function(result) {
if (result === 0) {
chrome.socket.write(socketId, data, function(writeInfo) {
chrome.socket.read(socketId, 1000, function(readInfo) {
});
});
}
else
{
alert("CONNECT FAILED");
}
});
}
catch (err)
{
alert("ERROR! " + err);
}
});
}
catch (err)
{
alert("ERROR! " + err);
}
我每次都会收到错误警告,因为chrome.socket未定义;这让我觉得我没有正确设置。无论如何,我们将非常感谢任何建议。