一. BluetoothSocket简介

1. 简介

客户端与服务端 :

BluetoothSocket 和 BluetoothServerSocket 类似于Java中的套接字的 Socket 和 ServerSocket;

在服务器端和客户端进行数据传输的时候都要使用这个类;

服务器端 : 使用BluetoothServerSocket对象可以创建一个BluetoothSocket对象, 调用BluetoothServerSocket的accept()方法就可以获取该对象;

客户端
: 调用BluetoothDevice的createRfcommSocketToServiceRecord()可以获取该对象;

在服务器端BluetoothServerSocket进行accept()阻塞, 在客户端BluetoothSocket调用connect()连接服务器, 如果连接成功, 服务器端的accept()方法就会返回BluetoothSocket对象, 同时客户端的BluetoothSocket也成功连接服务器, 此时服务器端和客户端的BluetoothSocket对象就可以获取输入输出流, 对数据进行操作;

常见的连接 : 最常见的BluetoothSocket连接是RFCOMM连接, 这是一个面向连接的数据交互, 先建立连接, 在进行数据交互, 类似于打电话.(面向连接对应无连接, 打电话时面向连接的; 网络上发送数据是无连接的).

线程安全 : BluetoothSocket是线程安全的, close()方法会终止BluetoothSocket进行的一切操作, 并且同时会关闭连接;

二. API详解

常用方法介绍 :

(1)关闭连接

public void close ()

作用 : 关闭这个套接字, 并且释放该对象占用的所有的系统资源; 这个方法可以调用多次, 但是只有第一次会生效, 多次调用, 作用的对象都是一个对象;

(2)尝试连接

public void connect ()

作用 : 尝试去连接一个远程设备, 这个方法会一直阻塞, 知道连接成功或者失败, 如果没有出现异常就说明连接成功;

注意 : 执行这个方法的时候, 不能与蓝牙扫描同时进行, 在执行该方法前, 要先停止蓝牙扫描, 调用BluetoothAdapter的cancelDiscovery()方法;

(3)获取输入流

public InputStream getInputStream ()

作用 : 获取输入流

(4)获取输出流

public OutputStream getOutputStream ()

作用 : 获取输出流

(5)获取远程设备

public BluetoothDevice getRemoteDevice ()

作用 : 如果BluetoothSocket处于连接中, 那么返回连接的远程设备, 如果没有连接, 那么返回null;

(6)是否连接

public boolean isConnected ()

作用 : 获取这个BluetoothSocket是否连接;

作者:han1202012 发表于2013-11-5 0:11:19 原文链接
阅读:81 评论:0 查看评论

安卓程序代写 网上程序代写[原]BluetoothSocket详解的更多相关文章

  1. (转)iOS应用程序生命周期(前后台切换,应用的各种状态)详解

    原文:http://blog.csdn.net/totogo2010/article/details/8048652 iOS应用程序生命周期(前后台切换,应用的各种状态)详解         分类:  ...

  2. 转:iOS应用程序生命周期(前后台切换,应用的各种状态)详解

    iOS应用程序生命周期(前后台切换,应用的各种状态)详解 分类: iOS开发进阶2012-10-08 15:35 42691人阅读 评论(30) 收藏 举报 iosapplication任务anima ...

  3. [转载,感觉写的非常详细]DUBBO配置方式详解

    [转载,感觉写的非常详细]DUBBO配置方式详解 原文链接:http://www.cnblogs.com/chanshuyi/p/5144288.html DUBBO 是一个分布式服务框架,致力于提供 ...

  4. 安卓程序代写 网上程序代写[原]BluetoothDevice详解

    一. BluetoothDevice简介 1. 继承关系 public static Class BluetoothDevice extends Object implement Parcelable ...

  5. 安卓程序代写 网上程序代写[原]BluetoothAdapter解析

    这篇文章将会详细解析BluetoothAdapter的详细api, 包括隐藏方法, 每个常量含义. 一 BluetoothAdapter简介 1.继承关系 该类仅继承了Object类; 2.该类作用 ...

  6. 安卓程序代写 网上程序代写[转]SVN 在线代码托管工具

    本文转载自 : http://blog.csdn.net/ithomer/article/details/8142920  作者:阳光岛主 在互联网环境使用SVN服务,你必须要有一台在互联网环境内支持 ...

  7. 小程序2-基本架构讲解(一)JSON配置与详解

    项目里边生成了不同类型的文件: .json 后缀的 JSON 配置文件 .wxml 后缀的 WXML 模板文件 .wxss 后缀的 WXSS 样式文件 .js 后缀的 JS 脚本逻辑文件 JSON 配 ...

  8. 微信小程序开发教程(八)视图层——.wxml详解

    框架的视图层由WXMKL(WeiXin Markup language)与WXSS(WeiXin Style Sheet)编写,由组件进行展示. 对于微信小程序而言,视图层就是所有.wxml文件与.w ...

  9. 写给大忙人的nginx核心配置详解

    由于当前很多应该都是前后端分离了,同时大量的基于http的分布式和微服务架构,使得很多时候应用和不同项目组之间的系统相互来回调用,关系复杂.如果使用传统的做法,都在应用中进行各种处理和判断,不仅维护复 ...

随机推荐

  1. JS两日期相减

    JS两日期相减,主要用到下面两个方法 dateObject.setFullYear(year,month,day) 方法 stringObject.split(separator) 方法 functi ...

  2. char型指针和字符串字面量和字符数组

    1.当一个char型指针指向一个字符串字面量(也就是常量字符串)时,该指针必须由const修饰,否则,系统会给出deprecated(不赞成)的警告.原因是:字符串字面量不可改变,当它被一个非cons ...

  3. spring cloud 路由Zuul的高可用

    Zuul的高可用非常关键,因为外部请求到后端微服务的流量都会经过Zuul.故而在生产环境中,我们一般都需要部署高可用的Zuul以避免单点故障. 笔者分两种场景讨论Zuul的高可用. Zuul客户端也注 ...

  4. /etc/sudoers文件设置为允许用户在不输入该用户的密码的情况下使用所有命令

    设置用户666在不输入该用户的密码的情况下使用所有命令: /etc/sudoers ALL=(ALL) NOPASSWD:ALL # ALL=(ALL) ALL #sudo su - 时是需要输入66 ...

  5. socket.io笔记一

    //服务端代码 var server = require('http').createServer(app); var io = require('socket.io')(server,{path:' ...

  6. text字段增加处理

    --text字段增加处理 --创建测试表 ),detail text) insert into test ','A*B' --定义添加的的字符串 ),@postion int select @s_st ...

  7. 缩放图片,解决bitmap 内存溢出out of memory的问题

    很多人在android开发中都遇到了生成bitmap时候内存溢出,也就是out of memory(OOM)的问题,网上对这样的问题的的解决说法不一.笔者作为一个初级开发者,在这里向大家提供一种比较实 ...

  8. 【教程】ubuntu下安装NFS服务器

    安装 NFS server mystery@lcw:~$ sudo apt-get install nfs-kernel-server  编辑/etc/exports,添加目标系统的根文件系统映射目录 ...

  9. FIS-PLUS百度前端框架使用过程

    1.如果后端开发语言是php,那么前端fis框架用FIS-PLUS,如果是java则用jello 2.FIS-PLUS使用步骤 1.安装nodejs 2.安装 fis npm install -g f ...

  10. js 将数字转换成人民币大写的方法

    //将数字转换成人民币大写的方法 var digitUppercase = function (n) { var fraction = ['角', '分']; var digit = [ '零', ' ...