UniPRT SDK  v2.0.0.3
UniPRT.Sdk.Comm.BTClassicConnection类 参考

实现蓝牙经典通信并扩展AComm类的类。 更多...

类 UniPRT.Sdk.Comm.BTClassicConnection 继承关系图:
UniPRT.Sdk.Comm.AComm UniPRT.Sdk.Comm.IComm

Public 成员函数

 BTClassicConnection (long macAddress)
 根据__macAddress__初始化新类实例。 在连接之前,需要与印表机进行蓝牙配对。 更多...
 
 BTClassicConnection (string descriptor)
 根据__descriptor__字符串初始化新类实例。 更多...
 
override void Close ()
 Closes a connection.
 
override void Open ()
 Opens a connection.
 
override byte[] Read ()
 Read all bytes available.
 
virtual void Read (BinaryWriter binDataIn)
 Reads all bytes available into the stream passed in.
 
virtual void WaitForData (int msTimeOut)
 等待数据可用 BytesAvailable 在当前线程。当前线程休眠直到接收到数据或超时。阻塞调用。 更多...
 
virtual void Write (BinaryReader binReader)
 从输入流写入输出流 更多...
 
override void Write (byte[] dataOut)
 Writes all bytes from the array passed in.
 
virtual void WriteAndWaitForResponse (BinaryWriter binDataIn, BinaryReader binDataOut, int responseStartTimeOut, int responseEndTimeOut, string completetionToken)
 将 binDataOut 流数据写入输出流,并将接收到的数据返回到 binDataIn 流中。返回的数据是接收到的任何数据或达到接收的完成标记。如果没有响应则在返回前等待超时。 更多...
 
virtual byte[] WriteAndWaitForResponse (byte[] dataOut, int responseStartTimeOut, int responseEndTimeOut, string completetionToken)
 将字节数据写入输出流并返回接收到的数据。返回的数据是接收到的任何数据或达到接收的完成标记。在返回前等待响应超时。 更多...
 

静态 Public 成员函数

static long DescriptorValidate (string descriptorHint)
 验证从 descriptorHint 传入的描述符字符串,该字符串可能包含或不包含 v_id 和 p_id。返回元组。 更多...
 

Public 属性

override string Descriptor => $"BT:MAC Address:{_bt_address.ToString("X12")}"
 返回连接的字符串描述。格式:"BT:MAC Address:_bt_mac" 例如 "BT:MAC Address:0080A3123456" 更多...
 

属性

override int BytesAvailable [get]
 
override bool Connected [get]
 

详细描述

实现蓝牙经典通信并扩展AComm类的类。

Examples

using System;
using System.IO;
using System.Text;
using UniPRT.Sdk.Comm; // imports SDK namespace
namespace Snippets
{
class MyComm
{
public static void MainComm(string[] args)
{
SendPrintFile(); // send file over BT Classic
SendPrintString(); // send print data over BT Classic
}
public static void SendPrintFile() // send file over usb
{
string fileName = @"C:\testFiles\Hello.pgl";
BTClassicConnection BTClassicComm = new BTClassicConnection(0x8CDE5294F30F);
try
{
BTClassicComm.Open();
if (File.Exists(fileName))
{
using (BinaryReader binReader = new BinaryReader(File.Open(fileName, FileMode.Open)))
{
Console.WriteLine($"Sending \"{fileName}\" to printer");
BTClassicComm.Write(binReader);
}
}
else
{
Console.WriteLine($"File \"{fileName}\" not found");
}
}
catch (Exception e)
{
Console.WriteLine($"Exception Msg: {e.Message}");
}
finally
{
BTClassicComm.Close();
}
}
public static void SendPrintString() // send print data over BT Classic
{
string dataToPrint =
@"~CREATE;C39;72
SCALE;DOT
PAGE;30;40
ALPHA
C10;1;33;0;0;@HELLO@
C16;54;37;0;0;@*World*@
STOP
BARCODE
C128C;XRD3:3:6:6:9:9:12:12;H6;10;32
@World@
STOP
END
~EXECUTE;C39
~NORMAL
";
BTClassicConnection BTClassicComm = new BTClassicConnection(0x8CDE5294F30F);
try
{
BTClassicComm.Open();
if (BTClassicComm.Connected)
{
//byte[] outBytes = Encoding.UTF8.GetBytes(dataToPrint);
byte[] outBytes = Encoding.ASCII.GetBytes(dataToPrint);
BTClassicComm.Write(outBytes);
}
else
{
Console.WriteLine($"Not connected to printer");
}
}
catch (Exception e)
{
Console.WriteLine($"Exception Msg: {e.Message}");
}
finally
{
BTClassicComm.Close();
}
}
}
}


构造及析构函数说明

◆ BTClassicConnection() [1/2]

UniPRT.Sdk.Comm.BTClassicConnection.BTClassicConnection ( string  descriptor)

根据__descriptor__字符串初始化新类实例。

参数
[in]descriptor可接受的格式:
  • "BT:MAC Address:<_bt_mac>"
    • _bt_mac 是十六进制的字符串b>。例如: MAC Address:0080A3123456

◆ BTClassicConnection() [2/2]

UniPRT.Sdk.Comm.BTClassicConnection.BTClassicConnection ( long  macAddress)

根据__macAddress__初始化新类实例。 在连接之前,需要与印表机进行蓝牙配对。

参数
[in]macAddress指定要通过印表机的蓝牙MAC地址连接的印表机。例如:0x0080A3123456

成员函数说明

◆ DescriptorValidate()

static long UniPRT.Sdk.Comm.BTClassicConnection.DescriptorValidate ( string  descriptorHint)
static

验证从 descriptorHint 传入的描述符字符串,该字符串可能包含或不包含 v_id 和 p_id。返回元组。

descriptorHint 接受的值:

  • "BT:MAC Address:<_bt_mac>"
    • _bt_mac 是十六进制 字符串b>。例如: MAC Address:0080A3123456

◆ WaitForData()

virtual void UniPRT.Sdk.Comm.AComm.WaitForData ( int  msTimeOut)
virtualinherited

等待数据可用 BytesAvailable 在当前线程。当前线程休眠直到接收到数据或超时。阻塞调用。

参数
[in]msTimeOut如果未接收到数据则在返回前的毫秒超时时间。

实现了 UniPRT.Sdk.Comm.IComm.

◆ Write()

virtual void UniPRT.Sdk.Comm.AComm.Write ( BinaryReader  binReader)
virtualinherited

从输入流写入输出流

参数
[in]binReader要发送的源数据

实现了 UniPRT.Sdk.Comm.IComm.

◆ WriteAndWaitForResponse() [1/2]

virtual void UniPRT.Sdk.Comm.AComm.WriteAndWaitForResponse ( BinaryWriter  binDataIn,
BinaryReader  binDataOut,
int  responseStartTimeOut,
int  responseEndTimeOut,
string  completetionToken 
)
virtualinherited

将 binDataOut 流数据写入输出流,并将接收到的数据返回到 binDataIn 流中。返回的数据是接收到的任何数据或达到接收的完成标记。如果没有响应则在返回前等待超时。

参数
[out]binDataIn目标流以存储从连接接收到的响应。
[in]binDataOut
要写入连接的源流数据。
[in]responseStartTimeOut等待接收到第一个数据的超时时间(毫秒)。第一个字节的时间。
[in]responseEndTimeOut没有接收到新数据的超时时间(毫秒)。最后一个字节后的时间。
[in]completetionToken指示预期响应结束的字符串标记。如果只是想等待写入数据后的响应,可以是空字符串。

实现了 UniPRT.Sdk.Comm.IComm.

◆ WriteAndWaitForResponse() [2/2]

virtual byte [] UniPRT.Sdk.Comm.AComm.WriteAndWaitForResponse ( byte[]  dataOut,
int  responseStartTimeOut,
int  responseEndTimeOut,
string  completetionToken 
)
virtualinherited

将字节数据写入输出流并返回接收到的数据。返回的数据是接收到的任何数据或达到接收的完成标记。在返回前等待响应超时。

返回值
byte[]从连接接收到的字节数组。 返回的数据是接收到的任何数据或达到完成标记时的数据。
参数
[in]dataOut
要写入连接的源字节数组。
[in]responseStartTimeOut等待接收到第一个数据的超时时间(毫秒)。第一个字节的时间。
[in]responseEndTimeOut没有接收到新数据的超时时间(毫秒)。最后一个字节后的时间。
[in]completetionToken指示预期响应结束的字符串标记。如果只是想等待写入数据后的响应,可以是空字符串。

实现了 UniPRT.Sdk.Comm.IComm.

类成员变量说明

◆ Descriptor

override string UniPRT.Sdk.Comm.BTClassicConnection.Descriptor => $"BT:MAC Address:{_bt_address.ToString("X12")}"

返回连接的字符串描述。格式:"BT:MAC Address:_bt_mac" 例如 "BT:MAC Address:0080A3123456"

返回格式:

  • BT:MAC Address:<_bt_mac>
    • _bt_mac 是 字符串b>. 例: MAC Address:0080A3123456
UniPRT
提供对不同通信接口/端口的支持
Definition: Communication.cs:9
UniPRT.Sdk.Comm
Definition: Communication.cs:9
UniPRT.Sdk
Definition: Communication.cs:9
UniPRT.Sdk.Comm.BTClassicConnection.BTClassicConnection
BTClassicConnection(string descriptor)
根据__descriptor__字符串初始化新类实例。
Definition: BtComm.cs:311