Core: UnixSocket (AF_UNIX) implementation (#325)

* Core: UnixSocket (AF_UNIX) implementation

Core/UnixSocket: GetPeerPid refactored

reference/UnixSocketClient: Use default socket type for connection

reference/UnixSocketServer: Use default socket type for listen

Core: UnixSocket API docs & cleanup

Core: UnixSocket friend declaration guarded using ifdefs.

* Core: UnixSocket, GetPeerPid() refactored, docs updated

* Core: TcpSocket renamed as Socket and added unix domain socket support.
Cleanup
Updated API docs.

* Core: UnixSocket entry removed from API docs.

* Core: Socket/SocketWaitEvent API docs cosmetics.

* Core: Socket cosmetics
This commit is contained in:
İsmail Yılmaz 2025-12-06 11:46:50 +00:00 committed by GitHub
parent 09a272d7f7
commit 962dd7f37c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 537 additions and 184 deletions

View file

@ -0,0 +1,28 @@
#include <Core/Core.h>
using namespace Upp;
// Start reference/UnixSocketServer before starting this program
CONSOLE_APP_MAIN
{
#ifdef PLATFORM_POSIX
auto Request = [](const String& r)
{
Socket s;
if(!s.ConnectFileSystem("/tmp/upp-unixsocket.sock")) {
Cout() << "Unable to connect to server!\n";
SetExitCode(1);
return String();
}
s.Put(r + '\n');
return s.GetLine();
};
Cout() << Request("time") << '\n';
Cout() << Request("33") << '\n';
#else
Cout() << "This example requires a POSIX compliant operating system...\r\n"
SetExitCode(1);
#endif
}