我有一个 SMS 应用程序,它通过 GPS 调制解调器接收消息并通过 GPS 调制解调器恢复。调制解调器正在使用 COM1。
现在,我需要另外两个可以通过同一个 GPS 调制解调器发送消息的应用程序。我尝试制作一个可以访问 COM1 以发送数据的 Web 服务,但是当我尝试通过 WebService 连接时,它会抛出一个错误,提示“COM1 已被占用,访问被拒绝。”。
任何人都可以帮助我在上述情况下通过调制解调器进行连接。
库什
我有一个 SMS 应用程序,它通过 GPS 调制解调器接收消息并通过 GPS 调制解调器恢复。调制解调器正在使用 COM1。
现在,我需要另外两个可以通过同一个 GPS 调制解调器发送消息的应用程序。我尝试制作一个可以访问 COM1 以发送数据的 Web 服务,但是当我尝试通过 WebService 连接时,它会抛出一个错误,提示“COM1 已被占用,访问被拒绝。”。
任何人都可以帮助我在上述情况下通过调制解调器进行连接。
库什
您必须确保仅建立 1 个连接。
最简单的(也是最低技术的,但可能是最灵活的)是有一个脚本定期检查目录中的文件并将文件中的消息发送到调制解调器。然后,Web 服务只为它收到的每条 SMS 写入一个文件。(这可以简单地扩展为接受电子邮件、网络请求等......)
更复杂一点是启动一个线程来进行通信并将消息推送到您最喜欢的编程平台提供的类似 FIFO 的数据结构上。BlockinQueue 将是完美的。该线程从队列中读取消息并将它们发送到 GSM 调制解调器。
如果您想确认短信已发送(根据我的经验,这并不意味着任何事情,当然也不是收件人实际收到的),您需要找到一种方法将反馈返回给呼叫者。这可以像在消息中设置布尔标志以发送另一条消息或执行回调一样简单。但我不会打扰。即使我们确认了消息中心,我也遇到过 30% 的消息消失的情况。