我的Android應用程序,這需要建立與 我們的C++庫(使用Android NDK)與Unix領域中的Android NDK
public static String SOCKET_ADDRESS = "your.local.socket.address"; // STRING
有LocalSocket在java中它接受「串Unix域套接字連接LocalSocket通信「(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);
但在本地層的unix域套接字接受」絕對路徑「。那麼這兩方如何相互溝通呢?
請分享任何例如,如果可能的
這幫了我很多!不過,我在獲取客戶端的sockaddr和服務器端的長度時遇到了問題。我希望客戶端向服務器發送消息(通過UDP),然後服務器應該用信息響應客戶端。我使用recvfrom(_serverSocket,_messageBuffer,INPUT_BUFFER,0,(struct sockaddr *)&_ clientAddress,&_clientAddressLength);在服務器端,儘管_clientAddressLength爲零,並且_clientAddress爲空,並且我無法響應客戶端,儘管從客戶端到服務器的消息被正確接收。 –
這是我的代碼http://stackoverflow.com/questions/31755790/sockets-unix-domain-udp-c-recvfrom-fail-to-populate-the-source-address?noredirect=1#comment51445587_31755790 –