我正在尝试理解套接字,我看到这个基本的类初始化是这样的
LocalServerSocket ls = new LocalServerSocket("mycomputer");
“我的电脑”代表什么?
我读到了Android api for Localserversocket,它说它是一个AF_LOCAL linux命名空间,对我来说,它就像是一个目录的名称。我想知道的是如何从windows计算机与linux命名空间通信以初始化LocalServerSocket,以及如何在linux机器上创建AF_Local命名空间?
Linux Kernel版本3.2及更进一步具有称为交叉内存连接的功能。
这是它的链接。在这方面我得不到太多的帮助。
在语法中,我们需要要写入或读取的远程内存的地址。我的问题是,如果我使用fork(),我如何获得这个远程内存的地址。
假设我使用交叉内存连接将一些东西从父进程发送到子进程。如何从子进程向父进程发送远程内存地址?
假设linux中有两个进程P1,P2(这是一种病毒)。P2可以访问P1的本地变量(例如x)吗?
在web上搜索时,我发现由于进程中使用的地址是逻辑地址,所以P2无法访问P1的局部变量'x‘。
但我想知道P2是否生成随机地址,其中一个地址解析为'x‘的物理地址,那么它不能访问它吗?
P2真的有可能访问P1的“x”吗?
如果是,怎么做?(如果可以通过任何技巧访问,请告诉我)
如果没有,为什么?
P1代码:
int main() {
int x = 20;
return 0;
}
p2代码:
int main() {
/*
generate random addres
实现与Linux进程的双向通信的可靠方法是什么?
我发现似乎不支持同时访问"r“和"w”……或者至少是这样暗示的:
The type argument is a pointer to a null-terminated string which must be either 'r' for reading or 'w' for writing.
(我现在太怀念Erlang了)