在需要与同一设备上运行的服务器进行通信的基于Android和iOS的应用程序上工作。当前使用TCP环回连接与App和Server通信(以用户层编写的App,使用Android NDK以C ++编写的服务器)
我想知道用Unix域套接字替换内部通信是否可以提高性能?
还是总的来说,有什么证据/理论证明Unix域套接字比TCP回送连接具有更好的性能?
3
请记住,本地套接字(UNIX域套接字)需要文件系统中的文件。使用TCP回送地址会将其全部保留在内存中。而且,如果您必须使用远程TCP套接字,则集成另一个TCP套接字而不是摆弄新的套接字和地址系列可能会更容易。
—
2013年
@JoachimPileborg仅在Linux(Android)上开发时,可以选择使用抽象的 UNIX域套接字地址,该文件不需要文件系统中的文件。
—
thuovila
请参阅stackoverflow.com/questions/14643571/…以获取android连接。
—
RDX
@Someprogrammerdude他们需要文件系统中的一个文件,但这并不意味着所有内容都会转移到磁盘上并返回。
—
罗恩侯爵
@Someprogrammerdude只有文件名,所有权和权限信息才会存储在文件系统中。所有实际的数据传输完全在内存中进行。
—
杰森'18