我有一个本机应用程序,它使用此代码打开一个 UnixDomain 套接字。
struct sockaddr_un local;
int len;
int fd;
fd = socket(AF_UNIX, SOCK_DGRAM, 0);
local.sun_family = AF_UNIX;
strcpy(local.sun_path, "path.to.socket");
len = strlen(local.sun_path) + sizeof(local.sun_family);
bind(fd, (struct sockaddr*)&local, sizeof(local));
上面的代码正在运行,因为我可以看到套接字已创建。
现在我想从我用 Java 编写的 android 应用程序发送一个 UDP 数据包。我相信我需要使用 LocalSocket 类。问题是我不知道如何将 LocalSocket 类用于 UDP。我看到的所有教程都是针对 TCP(SOCK_STREAM) 的。
我尝试使用下面的代码连接到创建的套接字,但它们给了我错误
LocalSocket socket = new LocalSocket();
socket.connect(new LocalSocketAddress( "path.to.socket" ));
这给了我Connection refused
错误
我也尝试绑定到同一个文件,但它显示Address already in use
错误。
我可以将 LocalSocket 类用于 UDP 还是只为 TCP 设计?