春节在家呆着也是呆着,顺便研究了一下cliofetion的源代码,发现飞信命令行程序每次登陆只能发一条短信,我照猫画虎改了改,改成登陆后待命,每5秒读一次fx_sms_pool.txt文件,有短信则自动发出,无需多次登陆,发送效率比较高。这样子和Web程序结合起来就比较方便些,更好的方式是单条短信生成txt文件到spool文件夹,然后C程序程序来扫描文件夹,可以避免文件读写冲突,我可以提供思路,期待C牛们来改改:)
fx_sms_pool.txt我使用php来生成,放在指定位置,主要改造代码如下,写得比较糙,内行们别见笑:)
int main()
{
int a = 0;
if(fx_login("13800138000", "mypassword")){
return 1;
}
while(a == 0){
debug_info("Check SMS ...");
checkSms();
sleep(5);
}
return 0;
}
int checkSms(void) {
int i=0;
char ar[2][255];
FILE * fp;
FILE * cfp;
char content[255];
char *item;
//open sms data file
fp=fopen("/var/fx_sms_pool.txt","r");
if(sizeof(fgets(content,256,fp)) != 0){
while(fgets(content,256,fp)){
if(strlen(content)!=sizeof(content)-1){
content[strlen(content)-1] = '\0';
}
item = strtok(content,"#");
strcpy(ar[0],item);
item = strtok(NULL,"#");
strcpy(ar[1],item);
debug_info("Sending SMS to %s (%s)",ar[0],ar[1]);
//send sms...
if(send_message("13800138000", ar[0], ar[1])){
return 1;
}
sleep(5);
}
fclose(fp);
cfp=fopen("/var/fx_sms_pool.txt","w+");
fclose(cfp);
}else{
debug_info("No SMS data.");
}
memset(ar,0,sizeof(ar));
return 0;
}
这WP的代码标签居然不支持空行,Ft…
请问有完成后都代码吗?
Comment by buru — 2011/04/26 @ 1:30 PM请查看主程序src/cliofetion.c的后半段:)
Comment by Ly — 2011/04/27 @ 11:20 PM