То, что вам нужно, называется RPC.Можно построить свой собственный, но в зависимости от функций, которые вам нужны, это может занять много времени.
Учитывая количество времени, которое мне пришлось потратить, я бы порекомендовал найти приличную библиотеку, которая соответствует вашим целям, вместо того, чтобы крутить руки.Мой сценарий использования требовал дополнительных сложных функций, таких как выборочные вызовы RPC, для которых я не мог найти ничего достаточно легкого, поэтому пришлось свернуть свои собственные.
Вот оно https://github.com/DhavalW/octopus.
Это довольно легко настроить сейчас и работает с множеством распространенных транспортов, таких как socket.io, websockets, дочерние процессы и т. Д., Без изменений.В основном безопасен для использования, кроме функции переименования, которая находится в стадии разработки.