- RFCOMM Channel
RFCOMM의 Channel은 1~30까지 사용할 수 있으나 이상하게 1~13번 채널을 사용하면 Server에 연결 되지 않았다.
테스트 환경은 Server의 경우 PC Ubuntu을 사용하였으며 Client는 Android ICS 4.0.4 번젼의 BlueZ v4.93을 사용
하였다. 현상을 보면 Client에서 Socket 생성까지는 무리 없이 동작하며 connect() 함수를 호출하였을 경우 에러를
리턴 하였다.
- bind 함수
bind() 함수 호출시 커널 2.6.7 버전 이상에서는 Channel값을 0으로 설정하면 자동으로 값을 설정한다고 하는데… 정확히 어떤말을 하는지 모르겠음.
=> kernel source를 보면 rfcomm_sock_getname() 함수를 보면 struct sockaddr을 반환해 주는 함수가 있음.(미검토)
ex) RFCOMM Server&Client
1) Server
#include <stdio.h> int dynamic_bind_rc(int sock, struct sockaddr_rc *sockaddr, uint8_t *port) |
2) Client
#include <stdio.h> |
춮처 : Bluetooth Essentials
'android > Bluetooth' 카테고리의 다른 글
L2CAP을 이용한 Socket Programming Note (0) | 2014.08.21 |
---|---|
Ubuntu v12.04.5에서의 BlueZ 개발 환경 (0) | 2014.08.21 |
BlueZ API - hci_get_route(), hci_open_dev(), hci_inquiry(), hci_read_remote() (0) | 2014.08.20 |
Kitkat-4.4.2(BlueZ vs Bluedroid) Module 정리 (0) | 2014.07.08 |
[Tip] Bluetooth를 이용하여 파일을 수신할 경우 수신된 파일 위치 (0) | 2013.12.03 |