Sockets NaCl中的套接字代码已断开
我有大量已移植到NaCl的现有BSD套接字代码。我能够构建、链接和运行此代码,但是一旦到达套接字代码,NaCl模块就会崩溃 我现在使用的是Sockets NaCl中的套接字代码已断开,sockets,google-nativeclient,Sockets,Google Nativeclient,我有大量已移植到NaCl的现有BSD套接字代码。我能够构建、链接和运行此代码,但是一旦到达套接字代码,NaCl模块就会崩溃 我现在使用的是nacl\u io,但是当我试图调用TCP connect函数时,我发现errno 38出现错误,这意味着 #define ENOSYS 38 /* Function not implemented */ 为什么调用connect函数会失败,但我能够通过gethostbyname()成功解析主机 请注意,我使用的示例代码来自nacl\u iod
nacl\u io
,但是当我试图调用TCP connect函数时,我发现errno 38
出现错误,这意味着
#define ENOSYS 38 /* Function not implemented */
为什么调用connect
函数会失败,但我能够通过gethostbyname()
成功解析主机
请注意,我使用的示例代码来自
nacl\u io
demo。演示中的代码工作正常,但是当复制到我自己的项目中时,我在调用connect()
时会出现错误,只要您先调用nacl\u io\u init\u ppapi函数,connect()就不应该返回ENOSYS
我最初在pthread后面列出的make文件中有nacl_io。将nacl_io移动到链接器列表的前面修复了此问题
nacl_io也定义了一些在libpthread中定义的函数。如果libpthread列在nacl_io之前,则使用libpthread函数;如果libpthread列在nacl_io之后,则使用nacl_io函数