Closed agorangetek closed 1 month ago
CC @bruvzg
The named pipes implementation was not intended to work with non-Godot clients.
Currently, internal names are translated to OS specific names as following:
pipe://{name}
→ \\.\pipe\LOCAL\{name}
.pipe://{name}
→ /tmp/{name}
./
in the {name}
are replaced with _
.LOCAL\
part is required for sandboxed apps (since pipes are allowed only within the same sandbox), but since we are not supporting UWP, it probably can be removed.
Thanks
Did this solve your issue? If not please explain what you are still having problems with
Solved. Thanks
Tested versions
4.3 rc2
System information
Windows 10/11
Issue description
When creating a named pipe server using
var pipe_nw = FileAccess.open("pipe://test", FileAccess.WRITE)
Any non Godot application must add "LOCAL/" before the pipe name so that a Godot pipe server can receive a pipe client. If the pipe server was created with a non Godot application, we must add "LOCAL/" before the pipe name so that a Godot pipe client can connect.
Godot Client Example connection to a non Godot pipe server named "test":
var pipe_nw = FileAccess.open("pipe://LOCAL/test", FileAccess.READ)
Pipes form Godot to Godot are not affected as both client and servers use the same naming system.
Steps to reproduce
N/A
Minimal reproduction project (MRP)
N/A