Artifact [87fd543eae]
Not logged in

Artifact 87fd543eae408b6d6be4522f4d45fb1cb46c6379:

Wiki page [rfcomm command] by chw 2017-01-15 12:01:30.
D 2017-01-15T12:01:30.753
L rfcomm\scommand
P 963259e4b6baf9f058699073ce6b26667aceaf33
U chw
W 1925
<h2>Name</h2>

<b>rfcomm</b> - transfer data over Bluetooth serial port profile; akin to the Tcl <tt>socket</tt> command.

<h2>Synopsis</h2>

<tt>package require Rfcomm</tt><br>
<tt>rfcomm ?-myaddr <i>addr</i>? ?-myport <i>myport</i>? ?-async? <i>host</i> <i>port</i></tt><br>
<tt>rfcomm -server <i>command</i> ?-myaddr <i>addr</i>? <i>port</i></tt>

<h2>Description</h2>


This command is used to obtain a channel which is able to transfer data over Bluetooth's serial port profile (SPP or SP). The arguments are nearly identical to the Tcl <tt>socket</tt> command. It returns a client or server channel handle. Client channels may be used with <tt>gets</tt>, <tt>read</tt>, <tt>puts</tt>, <tt>fconfigure</tt>, and <tt>close</tt>. Server channels return a new client channel in the <tt><i>command</i></tt> callback when a incoming connection was established.

For client channels (first command form), the <tt><i>host</i></tt> parameter must be given as a one- or two-element list: the first element is the Bluetooth address of the remote device, and the (optional) second element is the UUID of the remote service. If omitted the standard Bluetooth UUID for the Serial Port Profile <tt>00001101-0000-1000-8000-00805F9B34FB</tt> is used. The non-blocking connection mode (<tt>-async</tt> specified) uses readability of the channel to indicate connection state. This is different to normal <tt>socket</tt> channels, where writability provides this information.

For server channels, the first element is the UUID for the local SDP (Service Discovery Protocol) record, i.e. the application identifier, and the optional second element is the friendly name of the service as advertised over SDP. On some Android versions the friendly name may not be an empty string, otherwise incoming connection requests are not fulfilled. The <tt><i>port</i></tt> parameter is usually ignored and should be specified as 0. 

Z 23aa1f8605e6dda9ca07b6a09bd7f842