An open API service indexing awesome lists of open source software.

https://github.com/monodyle/ipc-learning-lab

Re-implement of RPC IPC communication channel
https://github.com/monodyle/ipc-learning-lab

Last synced: 7 months ago
JSON representation

Re-implement of RPC IPC communication channel

Awesome Lists containing this project

README

          

# Inter-process communication

Intriguing repository re-implement of Discord's RPC IPC communication channel.
I'm trying to delve into the reverse engineering and ingeniously implement the
enigmatic pathways that facilitate communication in the Discord.

## What is IPC?

> IPC (inter-process communication) are the mechanisms provided by an operating system for processes to manage shared data. Typically, applications can use IPC, categorized as clients and servers, where the client requests data and the server responds to client requests.
>
> *- Wikipedia (https://en.wikipedia.org/wiki/Inter-process_communication)*

## Shared memory

Reference from [Linux kernel IPC](https://tldp.org/LDP/tlk/ipc/ipc.html) [System V](https://dwheeler.com/secure-programs/Secure-Programs-HOWTO/sysv-ipc.html):

> Shared memory allows one or more processes to communicate via memory that appears in all of their virtual address spaces.

![](./assets/ipc-explain.png)

(TBU)

## References

- https://en.wikipedia.org/wiki/Inter-process_communication
- https://tldp.org/LDP/tlk/ipc/ipc.html
- https://dwheeler.com/secure-programs/Secure-Programs-HOWTO/sysv-ipc.html
- https://discord.com/developers/docs/topics/rpc
- https://github.com/discordjs/RPC/