我正在尝试运行goggle native client提供的socket api示例。(路径:nacl_sdk \ pepper_35 \ examples \ api \ socket)
我可以使用make命令构建和运行此示例,也可以在chrome浏览器上正确显示。但是当我尝试连接到某个TCP端口时,无论IP和PORT如何,它总是会失败。虽然我创建了一个应用程序来监听我机器上的特定端口。
以下是错误消息:
TCP
解决...
解决失败。
我甚至无法通过仅提供端口号来创建本地服务器。它说:
在端口上启动服务器:8080
服务器:绑定失败: - 7
已完成以下更改:
已经尝试过以下事项:
使用命令行参数启动chrome " C:\ Program Files(x86)\ Google \ Chrome \ Application \ chrome.exe" --allow-NaCl的插座-API =" HTTP://本地主机"
" C:\ Program Files(x86)\ Google \ Chrome \ Application \ chrome.exe" --allow-NaCl的插座-API = IP_ADDRESS_OF_MY_SYSTEM
谁能说出我在这里失踪了什么?
答案 0 :(得分:1)
正确的论点是:
--allow-nacl-socket-api=localhost
参数必须只是原点,它必须是尝试访问套接字的原点。您的IP地址不起作用,因为您加载的页面未指定IP地址。参数必须完全匹配,否则所有套接字调用都将失败。
答案 1 :(得分:0)
我设法通过Google Chrome 54.0.2840.59(64位)在pepper_49上运行。
第一步是确保您在chrome:// flags中启用无 NACL相关功能。我认为我已经打开了#allow-nacl-socket-api,即使你传递了正确的命令行参数,它也无法工作。 将其恢复为默认值!
其次,请确保没有任何其他Chrome运行实例。出于某种原因,如果在使用正确的命令行参数启动chrome之前运行另一个chrome实例,它将无法工作。
然后,最后一步(在此步骤中归功于@binji),使用以下参数从命令行启动chrome:
google-chrome --allow-nacl-socket-api=localhost
然后转到http://localhost:5103/api/socket。这一次,你应该有这个:
tcp
Resolving ...
Resolved: 127.0.0.1:80
Connecting ...
Connected