易截截图软件、单文件、免安装、纯绿色、仅160KB

实战Linux Bluetooth编程 (七) SDP协议

Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。这个协议定义了客户如何能够寻找基于特定属性的服务而不让客户知道可用服务的任何知识。SDP提供发现新服务的方法,在当客户登录到正在操作的蓝牙服务器的一个区域时是可用的时。
Service discovery机制提供client应用程序侦测server应用程序提供的服务的能力,并且能够得到服务的特性。服务的品质包含服务type或服务class.
SDP也提供SDP server与SDP client之间的通讯。SDP server维护着一个服务条目(service record)列表.每个服务条目描述一个单独的服务属性。 SDP client可以通过发送SDP request来得到服务条目。
如果一个client或者依附于client之上的应用程序决定使用某个service. 它创建一个单独的连接到service提供者。 SDP 只提供侦测Service的机制,但不提供如何利用这些Service的机制。Sam觉得,这里其实是说:SDP只提供侦测Service的办法,但如何用,SDP不管。
每个Bluetooth Device最多只能拥有一个SDP Server。如果一个Bluetooth Device只担任Client,那它不需要SDP Server。但一个Bluetooth Device可以同时担当SDP Server和SDP client.
Service Record(Service 条目):
一个service是一个实体为另一个实体提供信息,执行动作或控制资源。一个service可以由软件,硬件或软硬件结合提供。
所有的Service信息都包含于一个Service Record内。一个Service Record 包含一个Service attribute(Service属性) list.
在一个SDP Server内,每个Service Record拥有一个32-bit的唯一性数据。通常,这个唯一性只是在每个SDP Server内部。 如果SDP Server S1 和SDP Server S2拥有同样的一个Service Record。那他们在不同SDP Sever内的独特数值并不一定相同。
SDP在SDP Server增加或减少Service Record时,并不会通知SDP client.
Service Attribute(Service 属性):
每个Service属性描述servcie的特性.一个Service Attribute由2部分:
Attribute ID + Attribute Value。
Attribute ID:16-bit无符号整数,用于区别一个Service Record内的其它属性。
Attribute Value:Attribute值。
Service Class:
每个Servi


相关文档:

Linux 0.12内核

在应用程序开发时,也经常需要如下的定时器. 这里对定时器做了一个优化,就是在插入队列中时进行了一次排序,使得检测时不需要遍历整个链表,只需把排在前面的几个到时的任务取出来就可以了。
static struct timer_list {
     long jiffies;
     void (*fn)();
   ......

Linux下获取CPUID、硬盘序列号与MAC地址


 
在很多系统软件的开发中,需要使用一些系统的唯一性信息。所以,得到主机的CPUID、硬盘序列号及网卡的MAC地址,就成个一件很重要的应用。
本人经过一番google即自己的钻研,基本上实现了这几个功能。需要的准备知识有:
GCC的嵌入汇编,具体的GCC嵌入汇编知识,请参考相关手册
ioctl系统调用,具体的调用方法 ......

solaris和linux命令对比

最近一个项目的系统用的是Solaris 10,虽然以前用的都是 Linux系统,但是Linux系统中的一些命令和Solaris系统是通用的,为了方便我现在列出部分,以后陆续更新。
    1) 查看开放端口
 
  Linux: netstat -atn
 
  Solaris: netstat -P tcp -f inet -an
 
  2) 查看网卡/网络状态
 
   ......

Linux不需要磁盘碎片整理





Linux不需要磁盘碎片整理。
以下引自linux官方网站对碎片的解说:来源于
http://www.linux.org/docs/ldp/howto/Partition/appendix.html#fragmentation

引用:
10.4. Some facts about file systems and fragmentation
Disk
space is administered by the operating system in units of ......

Linux BlueZ 下 Inquiry的实现

前面讲了使用 ioctl发送HCI Command的方法。但HCI protocol还有一些Command,比如Inquiry等,他们则不需要使用ioctl来发送。blueZ 直接提供了支持,虽然他们的最终都是用同样办法实现的。
在应用程序中:
hci_inquiry(dev_id, length, num_rsp, NULL, &info, flags);
这样需要包含blueZ 头文件如下:
#include //BT ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号