Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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中的UDP用于本地主机上的进程间通信_Javascript_Sockets_Udp - Fatal编程技术网

Javascript中的UDP用于本地主机上的进程间通信

Javascript中的UDP用于本地主机上的进程间通信,javascript,sockets,udp,Javascript,Sockets,Udp,是否仍然可以使用Javascript将UDP数据包发送到本地端口(并从本地端口接收UDP数据包) 我不想运行node.js,尽管那里有一个数据报对象。我正在使用IE,因此无法使用Mozsockets或chrome.udp.sockets对象 例如,我可以在iFrame中托管一个swf并使用flash从javascript(通过flash)发送到本地端口吗?这是到目前为止唯一的想法。简短的回答:不,出于安全原因,在Javascript中无法做到这一点 详细回答:一些插件支持UDP通信。例如,您可以

是否仍然可以使用Javascript将UDP数据包发送到本地端口(并从本地端口接收UDP数据包)

我不想运行node.js,尽管那里有一个
数据报
对象。我正在使用IE,因此无法使用Mozsockets或chrome.udp.sockets对象


例如,我可以在iFrame中托管一个swf并使用flash从javascript(通过flash)发送到本地端口吗?这是到目前为止唯一的想法。

简短的回答:不,出于安全原因,在Javascript中无法做到这一点

详细回答:一些插件支持UDP通信。例如,您可以使用Flash的AdobeAIR。如果您正在与无法更改的现有API进行接口,那么这可能是您唯一的选择


但是,如果你从头开始构建这个程序,并打算在网络上部署它,我强烈建议你考虑一种不同的传输模式。查看或了解基于浏览器的IPC、异步客户机-服务器通信和对等通信(尽管对该标准的支持仍在进行中)。这将使您能够像Adobe一样支持Apple设备和Linux,并提供比Flash或Java小程序更好的安全保证。

ActiveX是一种选项吗?Java怎么样?您要在其上使用此功能的页面是否也位于
localhost
上?请查看您是否可以接受传递字符串,然后localStorage+“storage”窗口事件是一个快速的本地解决方案。共享工作程序甚至比localStorage更好,但遗憾的是,IE还没有加入。好的概述!有趣的是,我不知道您可以在web工作人员之间共享上下文。我将在答案中添加这一点。您的长答案可能是错误的:“DatagramSocket类只能在Adobe AIR应用程序中使用,并且只能在应用程序安全沙箱中使用。”使用共享工作程序而不是本地存储意味着您不必与同步文件IO开销抗衡,将所有数据转换为字符串,限制为5mb消息,或者冒着写永久本地数据的风险。哦,性能也更好,因为所有东西都一直保存在RAM中。IE还可以使用剪贴板、FSO命中临时RAM磁盘,本地IIS服务器可以使用应用程序对象通过本地HTTP连接共享RAM保存状态。localStorage的实现通常读取和写入内存缓存,因此不像每次get或setItem()都命中磁盘。也就是说,这显然是一个黑客行为。