ネットワーク上のノードを表すオブジェクトにメソッド呼び出しでアクセスしたい


ネットワーク上のノードを表すオブジェクトに，メソッド呼び出しでアクセスするようなコードの書き方はありませんでしょうか？

例えば，Python で書くと，

[code]

    class Node:
        def __init__(self, ip, port):
            self.ip = ip
            self.port = port
            self.hoge = 'hogehoge'
    
        def do_something(self):
            n = Node('127.0.0.1', 12345)
            self.hoge = n.get_hoge()
    
        def get_hoge():
            return self.hoge
    
[/code]

Java で書くなら，

[code]

    class Node {
        private String ip;
        private int port;
        private String hoge;
    
        public Node(String ip, int port) {
            this.ip = ip;
            this.port = port;
            this.hoge = "hogehoge";
        }
    
        public doSomething() {
            Node n = new Node('127.0.0.1', 12345);
            this.hoge = n.getHoge();
        }
    
        public getHoge() {
            return this.hoge;
        }
    }
    
[/code]

このような書き方ができるクラスを作りたいです．  
要するに，相互に通信を行う `Node` クラスからソケット API のコードを隠蔽したいということです．

言語は問いません．  
何かいい書き方はありませんでしょうか？  
また，不可能なら不可能と教えていただけると助かります．  
よろしくお願いします．




ネットワーク越しのメソッド呼び出しのことを「RPC」、それをオブジェクト指向にしたものを「分散オブジェクト」といいます。古くはCORBA、WindowsならDCOM、JavaならJavaRMIなどがあります。それ以上のことは私は詳しくありません。「分散オブジェクト
｛言語名｝」等で検索してみるといいでしょう。

私見ですが、最近そういうのはあまり流行っていないような気がします。なんでもHTTPリクエストのAPIで片付けてしまうような。

その手のライブラリは、登場しては消えていく、を繰り返していて、これと言って定着しているものが、ほとんど無いような印象です。




ネットワーク越しのメソッド呼び出しのことを「RPC」、それをオブジェクト指向にしたものを「分散オブジェクト」といいます。古くはCORBA、WindowsならDCOM、JavaならJavaRMIなどがあります。それ以上のことは私は詳しくありません。「分散オブジェクト
｛言語名｝」等で検索してみるといいでしょう。

私見ですが、最近そういうのはあまり流行っていないような気がします。なんでもHTTPリクエストのAPIで片付けてしまうような。

その手のライブラリは、登場しては消えていく、を繰り返していて、これと言って定着しているものが、ほとんど無いような印象です。

