2010-10-21 30 views
26

Cách tốt nhất để tích hợp erlang và python là gì?cách tốt nhất để tích hợp erlang và python

Chúng tôi cần gọi hàm python trong erlang và gọi hàm erlang trong python. Tại thời điểm này, chúng tôi đang cố gắng sử dụng SOAP như một lớp trung gian giữa hai ngôn ngữ này, nhưng chúng tôi có rất nhiều rắc rối "không tương thích". Bạn có thể tư vấn cho cách tốt nhất để thực hiện tích hợp không?

+4

Bạn có thể cụ thể hơn về những gì bạn đang cố gắng tích hợp và những khó khăn "không tương thích" của bạn không? Nếu bạn đang sử dụng SOAP hoặc XML-RPC làm lớp trung gian, bạn đang gặp phải vấn đề gì? Chi tiết, người đàn ông !! – jathanism

+1

Có thể bạn muốn xem https://launchpad.net/twotp – rubik

+1

"tốt nhất" là không xác định trong câu hỏi của bạn. Bạn có nghĩa là "rẻ nhất"? Bạn có nghĩa là "Hầu hết việc sử dụng Công nghệ của IBM"? Bạn có nghĩa là "đòi hỏi phần cứng nhất"? Ý bạn là gì nhất? –

Trả lời

27

Như đã đề cập với erlport bạn có thể sử dụng các chức năng Erlang port protocolterm_to_binary/binary_to_term ở phía Erlang. Về phía Python có trình điều khiển cổng mức thấp Port có thể gửi và nhận tin nhắn từ Erlang và trình xử lý giao thức mức cao hơn Protocol mà tình huống đơn giản khi bạn muốn gọi hàm Python từ Erlang. Hiện tại không có bất kỳ giao diện phụ nào trên phía Erlang nhưng có thể sẽ có một số giao diện trong tương lai. Trong thư mục examples bạn có thể tìm thấy một số mã ví dụ cho các tình huống khác nhau.

Và vui lòng liên hệ với tôi về bất kỳ chủ đề liên quan đến ErlPort nào.

+1

Chà, bản thân người đàn ông! Nhờ bạn (và với cộng tác viên của bạn) cho một thư viện tuyệt vời. –

+0

các liên kết python đã chết, có vẻ như chúng đã được chuyển sang 'erlport/priv/python3/erlport /' –

+0

@FooBarUser Với phiên bản ErlPort mới, nó thực sự dễ dàng hơn nhiều. Vui lòng kiểm tra http://erlport.org/docs/python.html để biết thêm chi tiết. – hdima

11

Theo kinh nghiệm của tôi, tốt nhất là erlport.

Nó cho phép bạn xây dựng một cổng Erlang bằng Python bằng cách thỏa mãn giao thức cổng Erlang. Nó xử lý vấn đề tương thích dữ liệu bằng cách thực hiện định dạng thuật ngữ bên ngoài Erlang. Trang được liên kết hiển thị một ví dụ rõ ràng về cách sử dụng nó.

Các vấn đề liên quan