2011-12-19 2 views
0

에 쓰기 C 코드 액세스 소켓을 사용할 수 있습니까? 나는 다음과 같은 코드를 작성한다 :제목과 같이 Android

printf("create socket\r\n"); 

fd = socket_local_client(SOCKET_NAME_RIL, 
ANDROID_SOCKET_NAMESPACE_RESERVED, 
SOCK_STREAM); 

if (fd < 0) { 
perror ("opening radio socket error"); 
exit(-1); 
} 



printf("fd = %d\r\n",fd); 
int length = 12; 
char datalength[5]={0}; 
datalength[0] = 0; 
datalength[1] = 0; 
datalength[2] = (length >>8) & 0xff; 
datalength[3] = (length & 0xff); 
int ret = send(fd, datalength, 4, 0); 
if(ret != sizeof(int)) { 
    perror ("Socket write error when sending length"); 
    close(fd); 
    exit(-1); 
} 

나는 성공적으로 fd 값을 얻고 데이터를 성공적으로 보낼 수있다. "logcat -b radio"에는 정보를 표시 할 수있는 정보가 없습니다. rild가 소켓 연결을 방해하고있는 것으로 보입니다.

어떤 해결책이 있습니까? 감사합니다

+0

질문 제목을 구문 분석 할 수 없습니다. –

답변

0

rild 소켓은 전화 응용 프로그램에서 "소유"하므로 실행중인 동안 연결할 수 없습니다. rild-debug 소켓에 연결해보십시오.

관련 문제