首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ModemManager -无法发送带花括号的短消息

ModemManager -无法发送带花括号的短消息
EN

Unix & Linux用户
提问于 2021-06-04 14:00:54
回答 1查看 303关注 0票数 1

我遇到了一个问题,使用ModemManager (mmcli1.14.2)以编程方式发送短信,其中包含一些特殊字符的组合,但我还没有识别。

我想发送的短信如下:

代码语言:javascript
复制
OK({ yRgK1DNXQKo4C7uK43WnHArW1XbNekn6JJ80qgMTRcPM8pgGTJMwYDgseRRYOEA6NdCgQNgiSoheRZnK0czZy5P0GTny3rRrSEE9HTiFepFnhDxM6B2J3bpbHnHJiYbSQt40rt0dwIoZYeiEYyo7glw1kswTrg7He5Ojl8ysyxF4X54SCQomZrKRPsrEHpT2vLjCLfGn9pDGHxodwXbbKADm8j4waiGVnZfRBJBDSx8VUO28Yit068aM32t9a91NC0eUVkyUEGkNsm75cVQ7KJ0rpzucTRSudO7DJLxrgetz })

我在这里使用一个随机字符串来模拟一个大的有效载荷。实际上,大括号之间的有效载荷是一个更结构化的模型。

问题是,每当我使用大括号封装有效负载时,消息就不会传递给收件人.

我使用下面的发送方法来面对这个问题。

使用MMCLI的

使用mmcli发送SMS:

代码语言:javascript
复制
mmcli -m 1 --messaging-create-sms="number=<NUMBER>,text='OK({yRgK1DNXQKo4C7uK43WnHArW1XbNekn6JJ80qgMTRcPM8pgGTJMwYDgseRRYOEA6NdCgQNgiSoheRZnK0czZy5P0GTny3rRrSEE9HTiFepFnhDxM6B2J3bpbHnHJiYbSQt40rt0dwIoZYeiEYyo7glw1kswTrg7He5Ojl8ysyxF4X54SCQomZrKRPsrEHpT2vLjCLfGn9pDGHxodwXbbKADm8j4waiGVnZfRBJBDSx8VUO28Yit068aM32t9a91NC0eUVkyUEGkNsm75cVQ7KJ0rpzucTRSudO7DJLxrgetz})'"

然后

代码语言:javascript
复制
mmcli -m 1 --sms <id> --send

其结果如下:

成功发送短信

使用DBUS的

我使用消息传递 DBUS接口创建一个新的短消息,设置它的"number“和"text”(UTF8字符串)属性,然后使用它的Send()方法发送它。 我使用C#和Tmds.Dbus与总线交互。

问题

使用这两种方法,我都无法在收件人的电话上接收消息。如果我试图发送相同的信息,没有大括号,它将被传递,没有任何问题。如果我尝试用大括号发送另一条消息(类似于"OK({Test})“),那么它仍然没有任何问题。如果我试图将上述任何消息从手机发送到我正在使用的设备(与调制解调器管理器一起),它们就会毫无问题地被接收(无论是否有大括号,长和短版本)。

似乎有一种特殊的字符组合会给ModemManager带来问题,因此不会被发送。

事实上,同样的信息可以从手机发送到ModemManager,这让我觉得移动运营商方面没有任何问题。

不幸的是,由于实际有效载荷包含一个JSON编码模型,因此大括号非常重要。

EN

回答 1

Unix & Linux用户

发布于 2022-11-03 12:10:54

你在试图发送309个字符的缓冲区。SMS有一个限制( 104)。

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

https://unix.stackexchange.com/questions/652793

复制
相关文章

相似问题

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