如果Android LocalServerSocket
和Java ServerSocket
之间存在差异怎么办?
他们有相同的功能吗?
我认为LocalServerSocket是Linux ServerSocket
的Java实现,Java ServerSocket
实现自己。因此LocalServerSocket
和ServerSocket
具有相同的功能。我对吗?感谢。
答案 0 :(得分:0)
我面对了这个问题,发现了很多很棒的东西。
ServerSocket
:等待请求通过网络进入。它根据该请求执行一些操作,然后可能将结果返回给请求者。
它使用网络协议进行通信。
LocalServerSocket
:创建一个新的服务器套接字,以指定的名称监听。在Android平台上,名称是在Linux抽象名称空间(而不是在文件系统中)中创建的。
套接字家族习惯于 在同一台机器上的进程之间进行有效的通信。 传统上,UNIX域套接字可以不命名,也可以绑定到 文件系统路径名(标记为套接字类型)。 Linux也 支持独立于 文件系统。
套接字权限对抽象套接字没有意义:该过程 绑定抽象套接字并更改时,umask无效 对象的所有权和权限(通过fchown和 fchmod)对套接字的可访问性没有影响。当所有打开的引用都抽象套接字自动消失 插座已关闭。抽象套接字名称空间是不可移植的Linux扩展。
这两者在“通讯和权限”方面有所不同。
更多信息:
http://man7.org/linux/man-pages/man7/unix.7.html
https://developer.android.com/reference/android/net/LocalServerSocket
https://developer.android.com/reference/java/net/ServerSocket