godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
90.63k stars 21.1k forks source link

Godot 4.3 rc2 FileAccess Named Pipes pipe name problem with non Godot applications. #95242

Closed agorangetek closed 1 month ago

agorangetek commented 2 months ago

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

AThousandShips commented 2 months ago

CC @bruvzg

bruvzg commented 2 months ago

The named pipes implementation was not intended to work with non-Godot clients.

Currently, internal names are translated to OS specific names as following:

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.

agorangetek commented 2 months ago

Thanks

AThousandShips commented 1 month ago

Did this solve your issue? If not please explain what you are still having problems with

agorangetek commented 1 month ago

Solved. Thanks