使用Android NDK(2.3及以上版本)开发网络库
之情况
我们已经设计并实现了第三方应用程序和我们的IPC库之间的套接字通信机制。我们的库正在利用第三方应用程序端口(默认值:6700)来建立服务器之间的连接。
因此,它是一种环回连接,通过它我们的库和第三方应用程序之间进行通信。
int on = 1;
setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));
bind(s, (struct sockaddr *) &sin, sizeof (sin));
问题区域
一切正常,但由于此原因,性能会降级。如果没有网络库,则通信速度非常快。为了验证问题在于loopback tcp socket,我们删除了库的所有内部处理。该库只是作为应用程序的伪服务器(传递)。该应用程序将数据发送到localhost和socket,并且库只是将其转发到服务器。
>查询
那么有什么方法可以提高性能吗?
1)Android上的UNIX域套接字怎么样,它们可以在app和我们的库之间使用吗?
2)可以使用Binders在用户级应用程序和原生Android库之间进行通信吗?
3)或者我们是否有类似IOCTL SIO_LOOPBACK_FASTPATH的东西(应用于发送和接收套接字的套接字IOCTL SIO_LOOPBACK_FASTPATH启用了TCP环回快速路径。)Transmission Control Protocol (TCP) Loopback Optimization
非常感谢提前