【问题标题】:Information exchange between two computers connected over wireless通过无线连接的两台计算机之间的信息交换
【发布时间】:2014-10-29 07:08:05
【问题描述】:

我想就这个话题获得一些想法,这对我来说是新的,我有兴趣了解更多关于这方面的信息。

我开发了一个用 C 程序编写的语音控制应用程序,它应该控制一些操作。我想在通过无线网络连接的另一台计算机上控制这些操作。

我想做以下事情,

当计算机 A 用“字符串 A”识别我的声音时,它应该将此“字符串 A”发送到计算机 B,计算机 B 向计算机 A 发送确认请求,当计算机 A 发送确认字符串“是”时对B,计算机B将执行一个操作(例如打开记事本)。

PS:电脑A和B,都是Linux、Ubuntu机器

如何开始进行这种信息交换?还提供一些有用的链接以及您的建议。我相信这对我完成这项工作有很大帮助。

【问题讨论】:

    标签: c sockets networking ssh tunneling


    【解决方案1】:

    基本上你可以使用套接字通信。在两台机器上编写客户端和服务器套接字。一个接收命令,另一个发送命令。在准备好套接字后(绑定、监听等的整个舞蹈),您将启动 voice2text 模块。 OnVoice2TextConverted,通过套接字将消息发送到其他机器。 OnReceive 在另一台机器上,准备另一个消息(ack)发送给请求发起者。为这两台机器之间的模式通信定义一个消息结构(看看你是否必须序列化或使用 XML/JSON)。当您大喊“够了”时,通过您的模块检测声音并拆下插座。在拆除之前向对方暗示这一点。执行清理。

    【讨论】:

    • 我是第一次这样做,虽然我之前有使用 Putty 和 MPI 的经验。为此,我想请您分享一些有用的书籍或链接。我会跟着他们。我不知道谁投了-1票,但我在这里的主要目的是从专家那里收集一些参考资料来开始,而不是获得确切的解决方案。
    • 基本上你必须将任务分解成碎片。找出你不清楚的潜在部分。例如套接字通信,开发一个小型试点程序,在您按 Enter 之前交换 hihello(网上应该有大量示例)。现在你有一些文本要通过网络发送。尝试慢慢拉入您的语音模块,然后在那里发送您的语音消息。下一阶段使用您的 level1 代码为您发送的每条语音消息发送回复。然后你达到了另一个层次。继续一块一块地添加,不要一口气全部吃完