2017-09-14 22 views
7

Tôi muốn liên lạc với mpv bằng cách sử dụng ổ cắm Unix, nhưng Perl   6 không cung cấp bất kỳ giao diện cấp cao nào để thực hiện điều đó. Vì vậy, tôi nghĩ rằng tôi có thể viết một mô-đun nhỏ cho điều đó, bắt đầu đào sâu hơn, tìm thấy việc thực hiện IO::Socket::INET và đã tìm hiểu về NQP ops nqp::socketnqp::connect.Có cách nào để xử lý các ổ cắm Unix trong Perl 6 không?

Tuy nhiên, tôi không thể tìm thấy bất kỳ đề cập nào về những người trong số NQP operations list và dường như chúng khá khác biệt với API socket BSD truyền thống. Do đó tôi muốn hỏi: liệu hai người đó có thể tạo ra một ổ cắm Unix và kết nối với nó? Nếu vậy, làm thế nào? Hay có cách nào khác?

Trả lời

2

Tôi nghĩ cách tốt nhất hiện nay là sử dụng giao diện NativeCall để gọi hàm C. Có một số tài liệu thiết kế cũ cho thấy một IO :: Socket :: UNIX đã được nghĩ đến. Nhưng nó không được đưa vào bản phát hành hiện đại của đặc tả ngôn ngữ (chưa).

+3

Cảm ơn, tôi đã giải quyết nó bằng cách sử dụng 'IO :: Socket :: UNIX' từ Perl 5 bằng phương tiện' Inline :: Perl5' hoạt động như sự quyến rũ. Tôi chỉ muốn biết nếu có một giải pháp bản địa. – Ramillies

+1

Tôi đã có kế hoạch để thêm ống và unix ổ cắm được thêm vào, nhưng điều đó sẽ yêu cầu hack hacking (mà không phải là khá tầm thường). –

+0

@Ramillies vui mừng thats làm việc đủ tốt cho bạn. NativeCall trên C API sẽ là giải pháp bản địa hơn. Các hàm C trông gần giống với API Perl 5 nên có lẽ không quá khủng khiếp để làm. –

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