首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设备:Gsm:如何找出,如果一组短信是一条消息?

设备:Gsm:如何找出,如果一组短信是一条消息?
EN

Stack Overflow用户
提问于 2010-03-08 14:46:20
回答 2查看 1.1K关注 0票数 0

使用该设备:Gsm我可以读取在我的umts上接收到的短信.有时,由于一条短信长度的限制,一条消息被分成两条或多条短信。有没有办法找出一组短信是否是一条消息的一部分?例如,瓦木鞋我的短信,属于一起作为一个文本。

代码语言:javascript
复制
#!/usr/bin/perl  
use warnings; use strict;  
use Device::Gsm;  

my $modem = new Device::Gsm( port => '/dev/ttyUSB0' );  
if( $modem->connect() ) {  
    print "connected!\n";  
}   
else {  
    print "sorry, no connection with serial port!\n";  
}  

my @msg = $modem->messages;  
if( @msg ) {  
    my $n = 0;  
    for( @msg ) {  
    my $sms = $_;  
    next unless defined $sms;  
    print "\nMESSAGE N. $n\n";  
    print 'Text   [', $sms->text(), "]\n";  
    $n++;  
    }  
}  
else {   
    print "No message on SIM, or error during read!\n";   
}  

连接!

电文N. 0文字讯息1第1部分

电文N. 1文字讯息1第2部分

讯息N. 2文字讯息1第3部分

电文N. 3文本信息2

第4条短信第3条

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-08 14:51:57

我不认为有一种方法与设备::Gsm直接。但是,如果以PDU模式读取消息(请参阅https://metacpan.org/pod/Device::Gsm#mode ),则可以适当地解释标头以读出多部分标志。

[编辑以添加:此引用是对SMS PDU头:http://www.spallared.com/old_nokia/nokia/smspdu/smspdu.htm的一个很好的概述]

票数 3
EN

Stack Overflow用户

发布于 2010-03-10 16:42:37

这主要起作用,但并非总是如此。

代码语言:javascript
复制
#!/usr/bin/perl
use warnings; use strict; 
use 5.010;
binmode STDOUT, ':encoding(UTF-8)';
use Device::Gsm;

my $modem = new Device::Gsm( port => '/dev/ttyUSB0' );

if( $modem->connect() ) { 
    print "connected!\n"; 
} else { 
print "sorry, no connection with serial port!\n"; 
}

my @msg = $modem->messages( 'ME' );
if( @msg ) {
    print "You have messages!\n" ;
    my $n = 0;
    my $text;
    for my $sms ( @msg ) {
    next unless defined $sms;
    $text .= $sms->text;
    if ( $sms->{tokens}{PDUTYPE}{_MMS} ) {
        say "\nMESSAGE N. $n";
        say $text; 
        $text = '';
        $n++;
        <STDIN>;
    }
    }
} else { 
    print "No message or error during read!\n"; 
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2402085

复制
相关文章

相似问题

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