Tôi đã triển khai hàng đợi thông báo POSIX. Về phía người nghe, tôi mở hàng đợi như thế này:Hàng đợi tin nhắn POSIX có thể được sử dụng cho người dùng chéo trên Linux không?
mqdes = mq_open(s_mailbox_name.c_str(), O_RDONLY | O_CREAT, S_IRWXU | S_IRWXG | S_IRWXO, NULL);
Về phía người gửi, tôi mở hàng đợi như thế này:
mqdes = mq_open(m_s_mailbox_name.c_str(), O_WRONLY);
Chuỗi là như nhau trên cả hai, cho phép gọi nó là /foobox
Bây giờ, khi tôi chạy cả người gửi và người nhận với cùng một người dùng trên hộp, mọi thứ hoạt động hoàn hảo. Tuy nhiên Nếu người gửi và người nhận là 2 người dùng khác nhau, người nhận không thể mở hàng đợi. Tôi nghĩ đây không phải là vấn đề bởi vì tôi mở hàng đợi là 0777 ở trên nên mọi người đều có thể RWX.
Có điều gì hiển nhiên tôi đang làm sai không? Hoặc là điều này không thể (Xin đừng để cho nó được cái này)
Cảm ơn
Bạn là anh hùng của tôi, cảm ơn: D, cuối cùng tôi có thể rời khỏi công việc ngay bây giờ. – Salgar
Bạn được chào đón. Chúc một buổi tối tốt đẹp. –