这适用于我正在进行的网络项目。它要求我们模拟一座桥梁。 套接字基本上成了端口。
但是有人告诉我,为了让Unixsocket工作,它需要完整的socket路径,而且我不知道完整的路径是什么。
无论如何都要绕过这个?
s = UNIXSocket.new(SOCK_SEQPACKET)
s.connect(padder(lan_one[i]))
出错的部分是padder(lan_one [i])。 Padder基本上填充了一个"端口"直到它的108个字符长。无论如何,因为"端口"它构成了它并不存在于任何地方。因此,我无法前往它。
答案 0 :(得分:1)
我不知道完整的路径是什么。
您将路径指定为<{3}}参数。换句话说,路径就是你所说的。以这种方式打开套接字会在文件系统上创建一个实际文件(如果还没有),如果它无法创建文件,则会失败(或应该这样做),例如因为已存在具有指定名称的文件,或者因为指定路径的目录段不存在。
出错的部分是padder(lan_one [i])。 Padder基本上填充“端口”,直到其长度为108个字符。无论如何,因为“端口”组成,它实际上并不存在于任何地方。因此我无法前往它。
我不清楚你应该怎么做。 Unix域套接字没有端口,本身,当然,您无法连接到不存在的套接字。但是,您可以使用路径模拟端口。例如,您可以使用此常规形式的路径:
/base/dir/application/port
请注意,Unix域名套接字的名称可以有多长时间的系统限制。