我正在尝试理解套接字,我看到这个基本的类初始化是这样的
LocalServerSocket ls = new LocalServerSocket("mycomputer");
“我的电脑”代表什么?
我读到了Android api for Localserversocket,它说它是一个AF_LOCAL linux命名空间,对我来说,它就像是一个目录的名称。我想知道的是如何从windows计算机与linux命名空间通信以初始化LocalServerSocket,以及如何在linux机器上创建AF_Local命名空间?
如何从C执行/打开/运行另一个程序,而不是阻止它,而是让它同时运行。然后我想做一些像服务器/客户端这样的测试,如果已经完成了,我只想杀死/关闭这个程序。我读过
system() or execv()
但是,第一种似乎阻碍了等待结果,第二种似乎只在Linux上工作?在最好的情况下,我希望有跨平台或最低的MacOS/Windows/Linux(Ubuntu)工作解决方案。我也需要关闭这个以前打开的程序,当我不再需要它。
实现与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了)
我对管道的了解是,它是用于单向通信的,它有助于两个相关过程之间的通信。我从一本书中得到了下面的管道编程代码示例。我正在尝试使用printf理解代码,并在代码的每一行之后打印出所有的点。但是我不明白程序是如何在每一行之后运行的。我的代码如下:
管:
//using PIPE to communicate with a child process
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
/* Write COUNT copies of MESSAGE to filename, pa