2010-10-18 14 views
5

Tôi đang xem dự án yêu cầu liên lạc giữa các ứng dụng Windows cũ bằng cách sử dụng các đường ống có tên và một dịch vụ mới chạy trên máy chủ Linux. Không thể thay đổi ứng dụng cửa sổ. Có ai biết nếu có một thư viện Linux có sẵn hỗ trợ Windows được đặt tên theo đường ống? Hoặc thậm chí tốt hơn, bất cứ ai có thể giới thiệu một thư viện mà họ đã sử dụng cho mục đích này?Hỗ trợ đường ống được đặt tên Windows trong Linux

+0

Một đường ống là hệ thống truyền thông địa phương, nó không mở rộng đến mạng ... vì vậy làm thế nào một hệ thống Linux có thể truy cập vào một đường ống trên hệ thống Windows, theo định nghĩa phải là một hệ thống khác (thậm chí là VM)? Hay bạn muốn biết cách viết một proxy hoặc một cái gì đó như thế? – DarkDust

+3

@DarkDust: Windows được đặt tên đường ống được xuất khẩu qua không gian tên mạng. Bạn có thể mở một từ một máy Windows khác với các thuộc tính bảo mật chính xác và thêm tên đường ống với tên WINS. –

+0

Các đường ống có tên Windows hoạt động khác với các đường ống tiêu chuẩn của Linux và hoạt động trên mạng. Tôi hỏi nếu có ai đã viết một thư viện trong Linux để hỗ trợ Windows có tên là đường ống. – MichaelB76

Trả lời

12

Windows và Linux có tên là ống dẫn động vật khác nhau. Nếu một giải pháp interop tồn tại, bạn sẽ là một trong số rất ít người dùng.

Bạn có thể nên viết một proxy ở phía Windows để ánh xạ giữa Named Pipe và socket, và kết nối nó với socket trên đầu Linux. Điều này cung cấp cho bạn một giao diện mạng hữu ích ở phía Linux đi về phía trước, và loại bỏ những gì có thể là một thế giới của Named Pipes interop bị tổn thương từ hình ảnh.

Nếu tôi đang thực hiện việc này, tôi sẽ cố gắng tạo một proxy thông qua đơn giản trong C# (mã được quản lý) làm bằng chứng khái niệm. Luôn luôn có thể chuyển đổi thành mã gốc (Win32/C++) nếu thông lượng không đo được. Có một số mẫu C# mã số here có thể là tham chiếu hữu ích.

Đây là background on the nuances of Windows vs Linux named pipes.

+0

Cảm ơn. ý tưởng viết một proxy ở phía Windows đã xảy ra với tôi, nhưng tôi đang chống lại ý tưởng cài đặt bất cứ thứ gì trên máy chủ Windows ... – MichaelB76

+1

@ MichaelB76 - làm thế nào bực bội ... hy vọng một bài thuyết trình đầy tranh cãi về rủi ro và chi phí trong cố gắng làm NP interop có thể xoay các đối số cho bạn. Hệ điều hành Windows là gì? Một máy, hay nhiều? –

3

Tôi đặt cược Samba/Winbind chứa mã có liên quan cao. Tuy nhiên, không chắc chắn về cách sử dụng lại nó.

+1

Tôi nghĩ rằng bộ Samba chứa một cái gì đó hữu ích; không chắc chắn làm thế nào để sử dụng nó mặc dù. Một số công cụ samba phải kết nối nội bộ với các đường ống được đặt tên NT. – MarkR

+0

Cảm ơn, suy nghĩ thú vị. – MichaelB76