Raspberry Pi bluez C ++,为什么bind()函数返回-1(失败)?

时间:2017-08-21 22:02:58

标签: bluetooth bind

我有一个Raspberry Pi Zero W,我试图编写连接代码。 // Save the order item meta data with custom field value and display it as order items meta data add_action('woocommerce_add_order_item_meta','save_product_status_discount', 1, 3 ); function save_product_status_discount( $item_id, $values, $cart_item_key ) { if( empty( $_SESSION['status_discount_price'] ) ) wc_add_order_item_meta( $item_id, 'Status discount', $_SESSION['status_discount_price'], true ); } 命令失败,为-1。当我收到编译错误时,我无法使用bind()

  

获取临时

的地址

我使用BDADDR_ANY代替,但这就是得到-1的回报。如果我使用my_bdaddr_anymy_bdaddr_all,则绑定有效,但my_bdaddr_local永远不会有效。这是我的代码片段:

accept()

1 个答案:

答案 0 :(得分:0)

bind()问题是由于另一个正在运行的程序已经绑定到蓝牙设备。我添加了这段代码,以便找出为什么我一直在bind()上获得-1。

if (ret = bind(bluetoothSocket, (struct sockaddr *)&loc_addr, sizeof(loc_addr)) == -1)   
{
    printf("Bluetooth bind failed. ERRNO=%d\n", errno);
    char *errorMessage = strerror_r(errno, buf, 1024);
    printf("%s\n", errorMessage);
    return 0;
}