SORU
27 Mayıs 2012, Pazar


Birleştiren node.js ve Python

Node.js bizim web projesi için mükemmel bir maç olduğunu, ancak Python tercih ederiz birkaç hesaplama görevi vardır. Biz de zaten onlar için bir Python kodu var. Bir Python "" bir asenkron engellenmeyen? node.js çalışan nasıl en zarif yolu ne hız konusunda oldukça endişeliyiz,

CEVAP
27 Mart 2013, ÇARŞAMBA


Bu zeroMQ iyi bir uyum olacak bir senaryo gibi geliyor. TCP veya Unıx soketleri kullanarak benzer mesajlar bir çerçeve var, ama çok daha güçlü (http://zguide.zeromq.org/py:all)

ZeroMQ oldukça iyi çalışan bir RPC çerçeve sağlamak için kullandığı bir kütüphane var. ZeroRPC (http://zerorpc.dotcloud.com/) deniyor. Merhaba Dünya işte.

"Merhaba x" sunucu: . Python

import zerorpc

class HelloRPC(object):
    '''pass the method a name, it replies "Hello name!"'''
    def hello(self, name):
        return "Hello, {0}!".format(name)

def main():
    s = zerorpc.Server(HelloRPC())
    s.bind("tcp://*:4242")
    s.run()

if __name__ == "__main__" : main()

Ve node.js müşteri:

var zerorpc = require("zerorpc");

var client = new zerorpc.Client();
client.connect("tcp://127.0.0.1:4242");
//calls the method on the python object
client.invoke("hello", "World", function(error, reply, streaming) {
    if(error){
        console.log("ERROR: ", error);
    }
    console.log(reply);
});

Ya da tersi, node.js sunucu:

var zerorpc = require("zerorpc");

var server = new zerorpc.Server({
    hello: function(name, reply) {
        reply(null, "Hello, "   name, false);
    }
});

server.bind("tcp://0.0.0.0:4242");

Ve python istemci

import zerorpc, sys

c = zerorpc.Client()
c.connect("tcp://127.0.0.1:4242")
name = sys.argv[1] if len(sys.argv) > 1 else "dude"
print c.hello(name)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FattySpins's channel

    FattySpins's

    17 Mayıs 2009
  • Greater Than Gatsby Photoshop Actions & Lightroom Presets

    Greater Than

    11 ŞUBAT 2013
  • WiseOwlTutorials

    WiseOwlTutor

    21 EKİM 2011