Sockets 为本机客户端运行套接字API

Sockets 为本机客户端运行套接字API,sockets,tcp,google-nativeclient,ppapi,Sockets,Tcp,Google Nativeclient,Ppapi,我正在尝试运行goggle原生客户端提供的套接字api示例。(路径:nacl\u sdk\pepper\u 35\examples\api\socket) 我能够使用make命令构建和运行这个示例,并且它在chrome浏览器上正确显示。但是,当我尝试连接到某个TCP端口时,无论IP和端口如何,它总是会失败。尽管我已经创建了一个应用程序,在我的机器上侦听特定的端口 以下是错误消息: tcp 正在解决… 解决失败 我甚至不能通过只提供端口号来创建本地服务器。它说: 正在端口上启动服务器:8080 服

我正在尝试运行goggle原生客户端提供的套接字api示例。(路径:nacl\u sdk\pepper\u 35\examples\api\socket)

我能够使用make命令构建和运行这个示例,并且它在chrome浏览器上正确显示。但是,当我尝试连接到某个TCP端口时,无论IP和端口如何,它总是会失败。尽管我已经创建了一个应用程序,在我的机器上侦听特定的端口

以下是错误消息:

tcp
正在解决…
解决失败

我甚至不能通过只提供端口号来创建本地服务器。它说:

正在端口上启动服务器:8080
服务器:绑定失败,错误为:-7

已完成以下更改:

  • 在铬上启用nacl
  • 在chrome上启用nacl套接字api
  • 已经尝试了以下事情:

  • 使用命令行参数启动chrome “C:\ProgramFiles(x86)\Google\Chrome\Application\Chrome.exe”--允许nacl套接字api=”http://localhost"

  • “C:\ProgramFiles(x86)\Google\Chrome\Application\Chrome.exe”--允许nacl套接字api=IP\U地址\U我的\U系统


  • 有人能告诉我这里遗漏了什么吗?

    正确的论点是:

    --allow-nacl-socket-api=localhost
    

    参数必须是原点,并且必须是尝试访问套接字的原点。您的IP地址无效,因为您正在加载的页面未指定IP地址。参数必须完全匹配,否则所有套接字调用都将失败。

    我用Google Chrome 54.0.2840.59(64位)在pepper_49上实现了这一点

    第一步是确保在中未启用任何与NACL相关的功能chrome://flags. 我想我已经打开了#allow nacl socket api,即使您传递了正确的命令行参数,它也不会工作将它们恢复为默认值

    其次,确保您没有运行任何其他Chrome实例。出于某种原因,如果在使用正确的命令行参数启动chrome之前运行另一个chrome实例,则该方法将无法工作

    然后,最后一步(这一步归功于@binji),使用以下参数从命令行启动chrome:

    google-chrome --allow-nacl-socket-api=localhost
    
    那就去。这一次,您应该有:

    tcp
    Resolving ...
    Resolved: 127.0.0.1:80
    Connecting ...
    Connected