본문 바로가기

춤추는 프로그래머/Bluetooth, Socket

꽤 빨리 깨닳은 것. send할 때 크기를 sizeof(DATA) 라고 쓰면 pointer 형의 크기가 계산되어 4byte만 전송이 됩니다. 데이터도 아니고 주소값도 아닌 의도하지 않은 데이터가 전송이 되겠죠. 이런 경우는 실제 데이터의 크기를 해당 위치에 정확히 써주어야 합니다. 물론 recv에서도 같은 크기만큼 읽어야하겠죠. 구글링은 역시 나의 구세주 /ㅁ/ 더보기
블루투스(Bluetooth) 프로토콜 스택과 프로파일(Profile) (1) 프로토콜(Protocol)이란 디바이스간에 데이터를 송수신하기 위한 하나의 약속을 말한다. 이 프로토 콜은 하나의 통신 시스템의 성능을 결정하는 매우 핵심적인 것이다. 하지만 OSI 7 Layer 나 TCP/IP 등 그 복잡한 계층과 패킷들은 생각만 해도 골치아프게 한다. 블루투스의 프로토콜 역시 그 스택을 보 는 순간 `만만치는 않겠다'는 생각이 들게 한다. 블루투스의 스펙을 크게 두 부분으로 나눈다면 `라디오(Radio) 스펙'과 `프로토콜 스펙'으로 나눌 수 있다. 그러나 실제 블루투스 스펙을 보면 라디오 스펙에 관련된 부분은 100페이지도 되지 않는다. 나 머지 800페이지 분량을 대부분 프로토콜에 관련된 설명으로 할애하고 있다. 아무리 블루투스의 RF 부 분을 사양에 맞게 설계하였다 하더라도 초.. 더보기
Bluetooth and BLOB Bluetooth and BLOB Bluetooth uses the BLOB structure to pass or receive transport-specific data to the WSAQUERYSET structure during calls to theWSASetService or WSALookupService* functions. For use with Bluetooth and the WSASetService function, the BLOB structure members are required to have the following settings: The cbsize member must be set to the size of the BTH_SET_SERVICE structure used i.. 더보기
Socket error 10057 WSAENOTCONN - Error 10057 Question/Problem: Socket is not connected. Answer/Solution: A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket) no address was supplied. 더보기
블루투스 소켓 프로그래밍 블루투스 소켓 프로그래밍 블루투스 장치는 Winsock API를 사용하여 제어할 수 있다. 다음은 블루투스를 사용하기 위한 기본적인 절차다 WSAStartup -> WSALookupServiceBegin -> WSALookupServiceNext(블루투스 장치 찾음, 한번에 하나씩 잡으므로 반복해줘야함) 더보기
Link error 2001, 2019. 외부기호를 참조할 수 없습니다. 제목과 같은 에러가 발생한다. 그럴때 해결방법은 완전 간단함. 추가 종속성에 필요한 라이브러리 이름을 적어주면 된다. 게임셋. 더보기
소켓통신 에러 Socket error 0 - Directly send error Socket error 10004 - Interrupted function call Socket error 10013 - Permission denied Socket error 10014 - Bad address Socket error 10022 - Invalid argument Socket error 10024 - Too many open files Socket error 10035 - Resource temporarily unavailable Socket error 10036 - Operation now in progress Socket error 10037 - Operation already in progress Socket erro.. 더보기
ms platform sdk http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&displaylang=en 여기서 다운받을 수 있다. 여기에 블루투스 예제가 들어있음.. 더보기
블루투스 한국 사이트 http://binish.or.kr/shark/index.php 더보기
블루투스 관련 사이트 http://trifinite.org/ 비스트 오라버니께서 알려주신 가장 유명한 블루투스 사이트! 더보기
블루투스 프로토콜 스택(1) 블루투스 프로토콜 스택(1) BT Lab 이한욱 (equinox@btlab.co.kr) 블루투스 프로토콜은 HCI(Host Controller Interface)를 기준으로 크게 상하위 프로토콜로 구분할 수 있다. 본고에서 는 5부로 나누어 블루투스 프로토콜에 대해 살펴보기로 하겠다. 블루투스 프로토콜 스택(Protocol Stack) 블루투스의 프로토콜 스택은 [그림1]에서 보여지는 바와 같다. 프로토콜 스택이란 그림에서 보여지는 바 와 같이 하위 계층부터 상위 계층까지 쌓아올린 프로토콜의 집합을 말한다. 이 프로토콜 스택은 보통 HCI(Host Controller Interface)를 기준으로 호스트 컨트롤러(Host Controller) 프로토콜과 호스트(Host) 프로토콜로 나뉘게 된 다. [그림.. 더보기
블루투스 개요와 기초(3) 블루투스 개요와 기초(3) BT Lab 이한욱 (equinox@bluetoothlab.com) 블루투스의 현황 및 전망 블루투스 기술이 세상에 처음 소개되기 시작한 2~3년전 블루투스에 대한 기대치는 매우 높았었다. 하지만 시간이 지날수록 그 예상만큼 블루투스 시장은 쉽게 활성화되지 못해왔다. 특히 대다수의 사람들이 전송 속도나 네트워 크 규모 면에서 우수한 무선 랜(IEEE802.11b)이 블루투스 보다 우수한 무선 솔루션이라는 생각을 많이 하고 있다. 올 해 초 무선 랜 서비스가 인터넷망 서비스 업체로부터 본격적으로 시작면서, 무선 랜에 의해 블루투스 시장이 위축된다 는 식의 기사가 IT 일간지에 보도되기도 하였다. 특히 작년 말Intel사의 숀 멜로니 부사장은 무선 랜(IEEE802.11b)과 비교.. 더보기
블루투스 개요와 기초(2) 블루투스 개요와 기초(2) BT Lab 이한욱 (equinox@btlab.co.kr) 본고에서는 SIG에서 2001년 2월에 발표한 1.1 스펙의 내용을 중심으로 하여 블루투스의 사양 대해 살펴보 도록 하겠다. 블루투스의 특징 블루투스의 사양은 결코 `벤츠급'은 아니다. 1부에서도 언급했듯이 블루투스는 그 탄생 자체가 `케이블의 무선화'에서 비롯된 것이므로 결코 `Low Cost', `Low Power', `Small Size'라는 조건을 만족시키도록 고안된 것이다. 그러다보니 다른 무선 기술에 비해 사양이 조금 떨어지는 부분이 있는 것은 사실이다. 흔히 무선 랜(WiFi)과 비교했을 때 전송 속도 혹은 네트워크 규모면에서 차이가 많이 나는 것을 보고, 블루투스가 무선 랜보다 뒤떨어지는 기술이 아니 냐는.. 더보기
블루투스 개요와 기초(1) 블루투스 개요와 기초(1) BT Lab 이한욱 (equinox@btlab.co.kr) 한 번쯤 데스크탑 PC의 뒷면을 본 적이 있을 것이다. 모니터와 마우스, 키보드 케이블은 기본이 고 여기에 별도의 USB 등의 주변 장치 등을 추가해서 연결하면 그야말로 분간하기 힘든 케이블들로 복잡해지게 된다. 또 디지털 카메라로 찍은 사진을 PC로 전송할때나 음악 파일을 MP3 플레이어로 다운 받을때 PC 뒷면으로 어렵사리 얼굴 을 돌려 케이블을 꽂아본 번거로운 경험이 있을 것이다. 한 번쯤 이런 케이블이 모두 없어진다면 얼마나 편할까하는 생각 이 든 적이 있을까? 이와같은 `케이블 없는 세상'에 대한 꿈은 이제 거의 현실로 다가왔다. 그리고 바로 `블루투스 (Bluetooth)'가 그 꿈의 현실화를 앞당기고 있다... 더보기