编辑:我知道,经过一番研究,这个问题是由IMEI领域引起的 在电话表中作为主要,如果我们使用调制解调器池像wavecome一样 16端口,gammu只检测一个IMEI我有1个调制解调器连接16个SIM卡端口,每个配置连接到我服务器上的同一个数据库,发送和接收短信所有工作就像一个魅力,每个端口都有smsd服务,如
gammu-smsd -c /etc/gammu-smsdrc-modem1 --pid /var/run/gammu-smsdrc-modem1 --daemon
gammu-smsd -c /etc/gammu-smsdrc-modem2 --pid /var/run/gammu-smsdrc-modem2 --daemon
每个端口都有自己的PhoneID,如modem1
和modem2
,问题是
为什么gammu数据库中的手机表不断用最后的gammu-smsd服务替换数据?
例如: 如果我运行第一个配置,那么手机表将包含所有信息,如信号,IMEI从第一个端口,但当我从第一个端口运行第二个gammu-smsd数据将消失,从第二个端口配置更改
这是来自modem1 / etc / gammu-smsdrc-modem1的smsdrc配置
[gammu]
port = /dev/ttyUSB0
model =
connection = at115200
synchronizetime = yes
logfile = /var/log/gammu-smsdrc-modem1
logformat = nothing
use_locking =
gammuloc =
[smsd]
service=sql
logfile=/var/log/gammu-smsdrc-modem1
debuglevel=0
Driver=native_mysql
User=root
Password=root
PC=localhost
Database=test
PhoneID=modem1
这是来自modem2 / etc / gammu-smsdrc-modem2的smsd配置
[gammu]
port = /dev/ttyUSB1
model =
connection = at115200
synchronizetime = yes
logfile = /var/log/gammu-smsdrc-modem2
logformat = nothing
use_locking =
gammuloc =
[smsd]
service=sql
logfile=/var/log/gammu-smsdrc-modem2
debuglevel=0
Driver=native_mysql
User=root
Password=root
PC=localhost
Database=test
PhoneID=modem2
答案 0 :(得分:0)
# Supply lists by splicing them into dots:
coalesce_by_column <- function(df) {
return(dplyr::coalesce(!!! as.list(df)))
}
df %>%
group_by(A) %>%
summarise_all(coalesce_by_column)
#> # A tibble: 2 x 5
#> A B C D E
#> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1 2 3 2 5
#> 2 2 4 5 3 4
中的一些行og代码
smsd/services/sql.c
最终代码将是
if (SMSDSQL_option(Config, SQL_QUERY_DELETE_PHONE, "delete_phone",
"DELETE FROM phones WHERE ", ESCAPE_FIELD("IMEI"), " = %I", NULL) != ERR_NONE) {
return ERR_UNKNOWN;
}
.......
.......
.......
if (SMSDSQL_option(Config, SQL_QUERY_UPDATE_RECEIVED, "update_received",
"UPDATE phones SET ",
ESCAPE_FIELD("Received"), " = ", ESCAPE_FIELD("Received"), " + 1"
" WHERE ", ESCAPE_FIELD("IMEI"), " = %I", NULL) != ERR_NONE) {
return ERR_UNKNOWN;
}
并像往常一样重新编译gammu,并修改手机表以将ID设置为主键,我不是c的专家,希望有人可以做出更好的改变以获得更好的结果,但对我来说这对于临时使用是足够的。 / p>