蓝牙socket方面知识
2017-03-31 21:53
471 查看
1、socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。蓝牙同样可以使用Socket来实现客户端和服务器程序。
socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。
2、蓝牙模块中Socket通信
BluetoothSocket
蓝牙socket的接口(类似于TCP/IP socket接口)。应用程序通过InputStream或者OutputStream与其他蓝牙设备交换数据的连接点。BluetoothServerSocket
开放的服务器socket,监听进入的连接请求(类似于TCP/IP的ServerSocket)。为了连接两个Android设备,其中一个 必须打开一个server socket。当一个远程蓝牙设备发出一个连接请求并被接受时,BluetoothServerSocket将返回一个已连接的 BluetoothSocket。
3、 服务器端 : 使用BluetoothServerSocket对象可以创建一个BluetoothSocket对象, 调用BluetoothServerSocket的accept()方法就可以获取该对象;
客户端 : 调用BluetoothDevice的createRfcommSocketToServiceRecord()可以获取该对象;
在服务器端BluetoothServerSocket进行accept()阻塞, 在客户端BluetoothSocket调用connect()连接服务器, 如果连接成功, 服务器端的accept()方法就会返回BluetoothSocket对象, 同时客户端的BluetoothSocket也成功连接服务器, 此时服务器端和客户端的BluetoothSocket对象就可以获取输入输出流, 对数据进行操作;
常见的连接 : 最常见的BluetoothSocket连接是RFCOMM连接, 这是一个面向连接的数据交互, 先建立连接, 在进行数据交互, 类似于打电话.(面向连接对应无连接, 打电话时面向连接的; 网络上发送数据是无连接的).
socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。
2、蓝牙模块中Socket通信
BluetoothSocket
蓝牙socket的接口(类似于TCP/IP socket接口)。应用程序通过InputStream或者OutputStream与其他蓝牙设备交换数据的连接点。BluetoothServerSocket
开放的服务器socket,监听进入的连接请求(类似于TCP/IP的ServerSocket)。为了连接两个Android设备,其中一个 必须打开一个server socket。当一个远程蓝牙设备发出一个连接请求并被接受时,BluetoothServerSocket将返回一个已连接的 BluetoothSocket。
3、 服务器端 : 使用BluetoothServerSocket对象可以创建一个BluetoothSocket对象, 调用BluetoothServerSocket的accept()方法就可以获取该对象;
客户端 : 调用BluetoothDevice的createRfcommSocketToServiceRecord()可以获取该对象;
在服务器端BluetoothServerSocket进行accept()阻塞, 在客户端BluetoothSocket调用connect()连接服务器, 如果连接成功, 服务器端的accept()方法就会返回BluetoothSocket对象, 同时客户端的BluetoothSocket也成功连接服务器, 此时服务器端和客户端的BluetoothSocket对象就可以获取输入输出流, 对数据进行操作;
常见的连接 : 最常见的BluetoothSocket连接是RFCOMM连接, 这是一个面向连接的数据交互, 先建立连接, 在进行数据交互, 类似于打电话.(面向连接对应无连接, 打电话时面向连接的; 网络上发送数据是无连接的).
相关文章推荐
- Socket进行数据传送的简单知识
- Socket基础知识
- css方面的知识
- 一名真正的Web程序员应该懂得那些方面的知识,应该注意学习哪些东西
- ios开发网络知识 TCP,IP,HTTP,SOCKET区别和联系
- HTTP、WebView、Socket、WiFi、蓝牙、Javascript编程方法总结及示例
- Linux下的socket编程实践(八) Select的限制和poll(并发的初步知识)
- iOS网络HTTP、TCP、UDP、Socket 知识总结
- 蓝牙基础知识进阶——Link manager对连接的控制
- 低功耗蓝牙开发知识:服务名称及ID
- JAVA数据库操作方面的知识总结(java.sql.*)
- Socket编程基础知识
- JAVA内存分配方面的知识(摘自网络)
- Android开发之蓝牙Socket
- untiy3d(性能)的美工方面需要知道的知识(亲情篇)
- socket相关知识
- 关于windows 2003 2008 域方面的知识
- 一名真正的Web程序员应该懂得那些方面的知识,应该注意学习哪些东西
- 和硬件交换方面的知识
- 如何清晰地思考(近一年来业余阅读的关于思维方面的知识结构整理)