【问题标题】:Multithreaded Server via Arduino通过 Arduino 实现多线程服务器
【发布时间】:2014-11-25 00:10:51
【问题描述】:

这里有套接字编程问题。

我的界面包括一个 Android 设备(客户端)、一个承载接入点的无线模块和一个 Arduino Uno(服务器)。

当 1 个用户连接并向我的 Arduino 服务器类发送命令时,我的 Android 客户端类工作。

我想让我的程序同时对许多用户友好。我的服务器一次只能从 1 个连接的客户端读取值。

经过一些研究,我发现 Arduino 自然不允许多线程,这就是我决定研究一些库的原因。

我决定用于此特定问题的 Arduino 库是 protothreads。不幸的是,我找不到任何使用 Arduino 创建服务器以接受客户端命令的示例。此外,我在弄清楚如何使这个库对我有利时遇到了很多麻烦。

现在我的问题,

我究竟怎样才能让我的 Arduino 服务器不断地监听 来自超过 1 个客户端设备的传入消息?

或者我可以在客户端做些什么来使这种通信成为可能?

【问题讨论】:

    标签: android multithreading sockets arduino client-server


    【解决方案1】:

    你能接受套接字响应并关闭它吗?类似于网页。因为不要一次打开多个套接字。注意 uno 只有 2k 的 ram flash 很快。通过一个和关闭每个独立和自然地允许许多不同的连接。一次只有一个。

    【讨论】:

    • 所以在用户连接并发送消息后...用“.close()”关闭端口?我什么时候为下一个客户打开它?还是每次检测到命令时都打开端口?
    • 连接后我没有关闭我的端口,所以我会尝试这样做。我会让你知道它是怎么回事。
    • 这个方法不行,大约有2分钟的时间,无线模块仍然会认为你已经连接,会关闭其他设备。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多