免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3657 | 回复: 7
打印 上一主题 下一主题

laputa73 亲,改完以后脚本不能入库了亲。。。 [复制链接]

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-10-24 13:17 |只看该作者 |倒序浏览
本帖最后由 墨迹哥 于 2013-10-24 13:17 编辑

@laputa73
之前邮件里跟你说了。。。

后来你没回邮件,我就直接在这发吧,也没啥见不得人的。

不知道为什么,现在都不能入库了,续倒是续上去了。。
  1. #!/usr/bin/perl

  2. use IO::Socket;
  3. use IO::Select;
  4. use DBI;
  5. use Config::Abstract::Ini;


  6. eval{
  7.   my $cfg=new Config::Abstract::Ini("config.ini");
  8.   %Data=$cfg->get_entry('mysql');
  9. };


  10. $|++;
  11. my $socket=IO::Socket::INET->new(LocalAddr =>'192.168.31.167',
  12.                                                 LocalPort =>9981,
  13.                                                 Listen   =>5,
  14.                                                 Proto    =>'tcp') or die $@;
  15. my $read_set=new IO::Select();
  16. $read_set->add($socket);
  17. while(1){
  18.   my ($rh_set) = IO::Select->select($read_set, undef, undef, undef);
  19.   foreach my $rh (@$rh_set){
  20.      if($rh == $socket){
  21.         my $ns = $rh->accept();
  22.         $read_set->add($ns);
  23.      }else{
  24.          $buf = $bufall{$rh}.$buf;  #补上之前的未完部分
  25.           #my ($buf1,$buf2)=split /\n|\r\n/, $buf;  #分开完整行和不完整行
  26.           my $pos=rindex($buf,"\n");
  27.           my $buf1=substr($buf,0,$pos);
  28.           my $buf2=substr($buf,$pos+1);
  29.           $bufall{$rh}=$buf2;  #保存未完整行部分
  30.           $buf=$buf1;  #处理完整部分,可能是多行,需要后续处理考虑
  31.           print "[buf]$buf.\n";
  32.         if (sysread($rh,$buf,1024)){
  33.                    @ack=split(/\|/,$buf);
  34.                    if(@ack[0]=~m#t:(.*)#){
  35.                         $type=$1;
  36.                         $log_type=type_result($type);
  37.                    }
  38.                    if(@ack[1]=~m#me:(.*)#){
  39.                         $method=$1;
  40.                         %log_result=log_result($method);
  41.                    }
  42.                    if(@ack[2]=~m#so:(.*)#){
  43.                         $source=$1;
  44.                    }
  45.                    if(@ack[3]=~m#lo:(.*)#){
  46.                         $local=$1;
  47.                    }
  48.                    if(@ack[4]=~m#da:(.*)#){
  49.                         $date=$1;
  50.                    }
  51.                    if(@ack[5]=~m#ti:(.*)#){
  52.                         $time=$1;
  53.                    }
  54.                    if(@ack[6]=~m#opt:(.*)#){
  55.                         $option=$1;
  56.                    }
  57.                    if(@ack[7]=~m#of:(.*)#){
  58.                         $offer=$1;
  59.                    }
  60.                         #如果触发规则
  61.                         if(%log_result){
  62.                                 print "触发规则了,入库!\n";
  63.                                 if(get_result_db($log_type,$log_result{'id'},$method,$source,$local,result_data($date,$time),$option,$offer) eq 'true')
  64.                                 {
  65.                                         if($log_result{'level'}==1){
  66.                                                 if(update_report_item(1,report_info($local)) eq 'false'){
  67.                                                         print "Error:Data Update No sucessful for report, level one!\n";
  68.                                                 }
  69.                                         }elsif($log_result{'level'}==2){
  70.                                                 if(update_report_item(2,report_info($local)) eq 'false'){
  71.                                                         print "Error:Data Update No sucessful for report, level two!\n";
  72.                                                 }
  73.                                         }elsif($log_result{'level'}==3){
  74.                                                 if(update_report_item(3,report_info($local)) eq 'false'){
  75.                                                         print "Error:Data Update No sucessful for report, level three!\n";
  76.                                                 }
  77.                                         }
  78.                                 }else{
  79.                                         print "Error:Data insert No sucessful!\n";
  80.                                 }
  81.                         }

  82.         }else{
  83.            print "数据传送完!\n";
  84.            $read_set->remove($rh);
  85.            $rh->close;
  86.         }
  87.      }
  88.   }
  89. }
复制代码

论坛徽章:
42
19周年集字徽章-周
日期:2019-10-14 14:35:31平安夜徽章
日期:2015-12-26 00:06:30数据库技术版块每日发帖之星
日期:2015-12-01 06:20:002015亚冠之首尔
日期:2015-11-04 22:25:43IT运维版块每日发帖之星
日期:2015-08-17 06:20:00寅虎
日期:2014-06-04 16:25:27狮子座
日期:2014-05-12 11:00:00辰龙
日期:2013-12-20 17:07:19射手座
日期:2013-10-24 21:01:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34IT运维版块每日发帖之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之新疆
日期:2016-06-07 14:10:01
2 [报告]
发表于 2013-10-24 13:51 |只看该作者
本帖最后由 laputa73 于 2013-10-24 14:04 编辑

不对啊,
我发的是这样的
  1. my $ns = $rh->accept();
  2. $read_set->add($ns);
  3. }else{
  4. my $buf = undef;
  5. if (sysread($rh,$buf,1024)){
  6.        

  7.   $buf = $bufall{$rh}.$buf;  #补上之前的未完部分
  8.   #my ($buf1,$buf2)=split /\n|\r\n/, $buf;  #分开完整行和不完整行
  9.   my $pos=rindex($buf,"\n");
  10.    my $buf1=substr($buf,0,$pos);
  11.    my $buf2=substr($buf,$pos+1);
  12.    $bufall{$rh}=$buf2;  #保存未完整行部分
  13.   $buf=$buf1;  #处理完整部分,可能是多行,需要后续处理考虑
  14.   print "[buf]$buf.\n";
复制代码
前面还有
  1. my $read_set=new IO::Select();
  2. ####################################
  3. #这个用来缓存全部收到的不完整行纪录
  4. my %bufall;
  5. ####################################
复制代码

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
3 [报告]
发表于 2013-10-24 13:56 |只看该作者
回复 2# laputa73


    我晕。。插错地方了。。难怪我就说怎么怪怪的。,。,

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
4 [报告]
发表于 2013-10-24 14:16 |只看该作者
回复 2# laputa73


    奇怪极了。。一条都不入库。。但是都在屏幕显示。。。

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
5 [报告]
发表于 2013-10-24 14:19 |只看该作者
回复 2# laputa73
  1. t:Apache|me:/index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42%3Cimg/src%3d%22%3E%22%20onerror%3dalert(950764)%3E|so:192.168.31.60|lo:192.168.31.167|da:24/Oct/2013|ti:14:18:30|opt:GET|of:200
  2. t:Apache|me:/index.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42|so:192.168.31.60|lo:192.168.31.167|da:24/Oct/2013|ti:14:18:31|opt:GET|of:200

  3. t:Apache|me:/index.php?=SUHO8567F54-D428-14d2-A769-00DA302A5F18|so:192.168.31.60|lo:192.168.31.167|da:24/Oct/2013|ti:14:18:31|opt:GET|of:200

  4. t:Apache|me:/index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42|so:192.168.31.60|lo:192.168.31.167|da:24/Oct/2013|ti:14:18:31|opt:GET|of:200
  5. t:Apache|me:/index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42%3Cimg/src%3d%22%3E%22%20onerror%3dalert(950764)%3E|so:192.168.31.60|lo:192.168.31.167|da:24/Oct/2013|ti:14:18:32|opt:GET|of:200

  6. t:Apache|me:/index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42|so:192.168.31.60|lo:192.168.31.167|da:24/Oct/2013|ti:14:18:32|opt:GET|of:200
  7. t:Apache|me:/index.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42|so:192.168.31.60|lo:192.168.31.167|da:24/Oct/2013|ti:14:18:32|opt:GET|of:200

  8. t:Apache|me:/index.php?=SUHO8567F54-D428-14d2-A769-00DA302A5F18|so:192.168.31.60|lo:192.168.31.167|da:24/Oct/2013|ti:14:18:32|opt:GET|of:200

  9. t:Apache|me:/index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42%3Cimg/src%3d%22%3E%22%20onerror%3dalert(950764)%3E|so:192.168.31.60|lo:192.168.31.167|da:24/Oct/2013|ti:14:18:33|opt:GET|of:200

  10. t:Apache|me:/index.php?=SUHO8567F54-D428-14d2-A769-00DA302A5F18|so:192.168.31.60|lo:192.168.31.167|da:24/Oct/2013|ti:14:18:33|opt:GET|of:200

  11. t:Apache|me:/index.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42|so:192.168.31.60|lo:192.168.31.167|da:24/Oct/2013|ti:14:18:33|opt:GET|of:200

  12. t:Apache|me:/index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42|so:192.168.31.60|lo:192.168.31.167|da:24/Oct/2013|ti:14:18:33|opt:GET|of:200
复制代码

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
6 [报告]
发表于 2013-10-24 14:25 |只看该作者
回复 2# laputa73


    不知道为什么总觉得有问题,在判断规则的时候居然没有判断成功。。。蛋腾。。

论坛徽章:
42
19周年集字徽章-周
日期:2019-10-14 14:35:31平安夜徽章
日期:2015-12-26 00:06:30数据库技术版块每日发帖之星
日期:2015-12-01 06:20:002015亚冠之首尔
日期:2015-11-04 22:25:43IT运维版块每日发帖之星
日期:2015-08-17 06:20:00寅虎
日期:2014-06-04 16:25:27狮子座
日期:2014-05-12 11:00:00辰龙
日期:2013-12-20 17:07:19射手座
日期:2013-10-24 21:01:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34IT运维版块每日发帖之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之新疆
日期:2016-06-07 14:10:01
7 [报告]
发表于 2013-10-25 06:42 |只看该作者
你把每一步加上调试信息看看,比如@ack,$ack[1],$method
或者用debug模式,单步跟踪一下

论坛徽章:
3
未羊
日期:2013-11-18 15:17:06酉鸡
日期:2013-12-06 17:07:16天蝎座
日期:2014-06-11 12:37:07
8 [报告]
发表于 2013-10-25 12:07 |只看该作者
回复 7# laputa73


    我了个去。。好费神。。不知道哪出错了。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP