首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Bluez L2CAP发送更多字节?

如何使用Bluez L2CAP发送更多字节?
EN

Stack Overflow用户
提问于 2020-06-16 08:01:03
回答 1查看 190关注 0票数 0

使用BlueZ连接到另一台计算机并发送数据包的代码如下:

代码语言:javascript
复制
struct sockaddr_l2 addr = { 0 };
    int s, status;
    char dest[18] = "DC:FB:48:6B:BF:0B";

    int socket1;

    int32_t value = 0;

    // allocate a socket
    socket1 = socket(AF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP);


    // set the connection parameters (who to connect to)
    addr.l2_family = AF_BLUETOOTH;
    addr.l2_psm = htobs(0x1001);

    str2ba( dest, &addr.l2_bdaddr );
    status = connect(socket1, (struct sockaddr *)&addr, sizeof(addr));
    while( status != 0)
    {
        status = connect(socket1, (struct sockaddr *)&addr, sizeof(addr));
        std::cout << "Waiting for DC:FB:48:6B:BF:0B" << std::endl;
        sleep(2);
    }

    while (true)
    {
        double data[512] = {0.0};
        memset(data, 0, 512);
        status = write(socket1, data, 512);
     }

正如您所看到的,我只发送了512字节,其他机器就可以读取它们了。但是,当我试图增加到1000个字节时,其他机器就不能再接受任何字节,而只是什么也不做。

在这种情况下,我如何发送更多字节?我使用的是Linux CentOS 8。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-16 09:31:12

默认情况下,L2CAP的最大传输速率为672字节。我建议您尝试将最大传输单元设置为所需的值。

看一看"4.3.1最大传输单元“这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62403744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档