Tôi có ứng dụng Android, mà cần phải thiết lập unix socket kết nối miền với ++ thư viện C (sử dụng Android NDK)truyền LocalSocket với Unix miền trong Android NDK
public static String SOCKET_ADDRESS = "your.local.socket.address"; // STRING
Có LocalSocket trong java mà chấp nhận "chuỗi "(your.local.socket.address)
#define ADDRESS "/tmp/unix.str" /* ABSOLUTE PATH */
struct sockaddr_un saun, fsaun;
if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
perror("server: socket");
exit(1);
}
saun.sun_family = AF_UNIX;
strcpy(saun.sun_path, ADDRESS);
Nhưng ổ cắm miền unix ở lớp gốc chấp nhận" đường dẫn tuyệt đối ". Vậy hai bên có thể giao tiếp với nhau như thế nào?
Hãy chia sẻ bất kỳ ví dụ nếu có thể
Điều này đã giúp tôi rất nhiều! Tuy nhiên tôi có một vấn đề với nhận được sockaddr của khách hàng và chiều dài ở phía máy chủ. Tôi muốn khách hàng gửi một thông điệp đến máy chủ (thông qua UDP) và sau đó máy chủ sẽ phản hồi với máy khách bằng thông tin. Tôi sử dụng recvfrom (_serverSocket, _messageBuffer, INPUT_BUFFER, 0, (struct sockaddr *) & _ clientAddress, & _clientAddressLength); ở phía máy chủ, tuy nhiên _clientAddressLength là số không và _clientAddress trống và tôi không thể trả lời ứng dụng khách, mặc dù thực tế là thông điệp từ máy khách đến máy chủ đã được nhận chính xác. –
Đây là mã của tôi http://stackoverflow.com/questions/31755790/sockets-unix-domain-udp-c-recvfrom-fail-to-populate-the-source-address?noredirect=1#comment51445587_31755790 –