
Tìm hiểu công nghệ bluetooth và viết ứng dụng minh họa (Đào Quý Thái An vs Trần Thị Mỹ Hạnh)- 4
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Tìm hiểu công nghệ bluetooth và viết ứng dụng minh họa (Đào Quý Thái An vs Trần Thị Mỹ Hạnh)- 4Tìm hiểu công nghệ Bluetooth và viết ứng dụng minh họasocket L2CAP, “port” sử dụng là Protocol/Service Multiplexer (PSM) , đối vớiBluetooth Socket RFCOMM thì “port” sử dụng là server chanel. + Hàm Connect() được sử dụng : void RSocket::Connect(TSockAddr& anAddr, TRequestStatus &aRequest) Tham số : anAddr : địa chỉ socket của thiết bị. aRequetStatus : Chứa mã lỗi trả về. Địa chỉ của socket được thể hiện bởi lớp TBTSockAddr vốn kế thừa từlớp TSockAddr. Mỗi thiết bị Bluetooth có một địa chỉ 48 bit được thể hiện bởilớp TBTDevAddr, lớp TBTSockAddr có hàm SetBTAddr() dùng để gán địa chỉthiết bị Bluetooth cho đối tượng của lớp này và hàm SetPort() để chọn mộtChannel cụ thể.void SetBTAddr(const TBTDevAddr& aRemote);void SetPort(TUint aPort); Mỗi client phải có các thành phần sau:SocketServer (RSocketServ): Dùng để giao tiếp với socket server của thiết bị.SendingSocket: Dùng để kết nối, nhận và gửi dữ liệu đến server socketĐoạn code sau mô tả việc thực hiện kết nối : RSocketServ SocketServer; TInt err; err = SocketServer.Connect(); User::LeaveIfError(err); RSocket SendingSocket; err = SendingSocket.Open(SocketServer, KBTAddrFamily, KSockStream, KRFCOMM); User::LeaveIfError(err); TBTSockAddr addr;Đào Quý Thái An – Trần Thị Mỹ Hạnh 185Tìm hiểu công nghệ Bluetooth và viết ứng dụng minh họa TRequestStatus status; addr.SetBTAddr(…); addr.SetPort(…); SendingSocket.Connect(addr, status); // Nhận và gửi dữ liệu ở đây .....7.4.4. Trao đổi dữ liệu thông qua Bluetooth socket : Sau khi thiết lập kết nối thành công, việc nhận và gửi dữ liệu vớiBluetooth socket cũng tương tự như với bất kì loại socket nào khác trênSymbian (IrDA socket, Internet socket).* Để nhận dữ liệu ta có thể dùng các hàm Read(), Recv() , hoặcReceiveOneOrMore().: - void Read( TDes8& aDesc,TRequestStatus& aStatus ); - void Recv( TDes8& aDesc, TUint flags, TRequestStatus& aStatus); - void Recv( TDes8& aDesc, TUint flags, TRequestStatus& aStatus, TSockXfrLength& aLen); - void RecvOneOrMore( TDes8& aDesc, TUint flags, TRequestStatus& aStatus, TSockXfrLength& aLen);Trong đó: + TDes8& aDesc : buffer chứa dữ liệu nhận được.+ TRequestStatus& aStatus : Sau khi hàm kết thúc, biến này chứa mã lỗi trả về.Nếu không có lỗi, giá trị của aStatus là KerrNone. + TUint flags : các thông tin về Protocol, I/O.Đào Quý Thái An – Trần Thị Mỹ Hạnh 186Tìm hiểu công nghệ Bluetooth và viết ứng dụng minh họa + TsockXfrLength& aLen : Chiều dài dữ liệu nhận được.* Để gửi dữ liệu, ta dùng hàm Write(): + void Write(const TDesC8& aDesc, TRequestStatus& aStatus); + void Send(const TDesC8& aDesc, TUint someFlags, TRequestStatus& aStatus); + void Send(const TDesC8& aDesc, TUint someFlags, TRequestStatus& aStatus, TSockXfrLength& aLen); Trong đó: + TDesC8& aDesc : Dữ liệu cần gửi đi. + TResquestStatus& aStatus : Sau khi hàm kết thúc, mã lỗi được trả về qua biền này. + TUint flags : các thông tin về Protocol, I/O. + TsockXfrLength& aLen : Chiều dài dữ liệu gửi đi.7.5. Bluetooth Service Discovery Database: Mỗi dịch vụ Bluetooth được lưu trong một record trong SDP database,nhờ đó, các thiết bị khác có thể biết được trên thiết bị Bluetooth đó có nhữngdịch vụ nào. Bluetooth Service Discovery Database cho phép các dịch vụ trênnội bộ thiết bị có thể đưa các đặc tính của nó vào trong Bluetooth ServiceDatabase, nhờ đó, các thiết bị Bluetooth khác có thể phát hiện được là dịch vụđó được hỗ trợ trên thiết bị đó.7.5.1. Kết nối vào Bluetooth Service Discovery Database : Để có thể sử dụng Service Discovery Database, client phải thực hiện cácbước sau :Đào Quý Thái An – Trần Thị Mỹ Hạnh 187Tìm hiểu công nghệ Bluetooth và viết ứng dụng minh họa + Tạo một phiên làm việc (session) với đối tượng database RSdp và mởmột kết nối + Tạo ra một phiên làm việc con (subsession) tới đối tượng DatabaseRsdpDatabase và mở kết nối. Một client có thể có nhiều phiên ...
Tìm kiếm theo từ khóa liên quan:
Luận văn CNTT mẫu luận văn giáo trình IT luận văn kinh tế đồ án IT mẫuTài liệu có liên quan:
-
Đề tài Thực trạng và nhưng giải pháp cho công tác quy hoạch sử dụng đất'
35 trang 221 0 0 -
Bàn về nghiệp vụ bảo hiểm nhân thọ thế giới và các loại hình hiện nay ở Việt Nam -4
8 trang 207 0 0 -
Luận văn tốt nghiệp: Thương mại điện tử trong hoạt động ngoại thương VN-thực trạng và giải pháp
37 trang 207 0 0 -
Khóa luận tốt nghiệp: Môi trường đầu tư bất động sản Việt Nam: thực trạng và giải pháp
83 trang 195 0 0 -
Giáo trình Phân tích thiết kế hệ thống thông tin (chương 2-bài 2)
14 trang 191 0 0 -
Đề tài: Tìm hiểu về thủ tục hải quan điện tử ở Việt Nam
47 trang 181 0 0 -
LUẬN VĂN: Thực trạng và nhưng giải pháp cho công tác quy hoạch sử dụng đất
29 trang 172 0 0 -
Đề tài: Thực trạng và giải pháp nhằm giảm thiểu tình trạng tranh chấp lao động ở Việt Nam
23 trang 160 0 0 -
Giải pháp vè kiến nghị nhằm mở rộng tín dụng xuất khẩu tại Vietcombank Hà nội - 1
10 trang 157 0 0 -
Luận văn: Nâng cao năng lực cạnh tranh trong dài hạn bằng việc củng cố thị phần trong phân phối
61 trang 153 0 0 -
83 trang 149 0 0
-
Đề tài: Nâng cao chất lượng dịch vụ cho thuê tài chính tại Công ty cho thuê tài chính II
75 trang 147 0 0 -
Khóa luận tốt nghiệp: Thực trạng vấn đề bảo vệ quyền lợi người tiêu dùng ở Việt Nam
100 trang 139 0 0 -
108 trang 136 0 0
-
Bài thuyết trình Chính sách tài khóa kinh tế vĩ mô
14 trang 136 0 0 -
Luận văn: Cơ cầu lao động và các giải pháp kích cầu lao động
31 trang 128 0 0 -
102 trang 125 0 0
-
95 trang 124 0 0
-
Đề tài: 'Nâng cao năng lực hoạt động của bộ máy quản lý ở công ty bảo hiểm nhân thọ Thanh Hoá'
84 trang 120 0 0 -
83 trang 119 0 0