在asp.net中,用webserver不论是winform还是web都很常见。php也可以的,webserver在功能和优点大家可以自行查阅某娘。
webserver分为客户端和服务端。这里列一个小例子,
服务端:
<?php session_start(); $soap = new SoapServer(null,array('uri'=>"server.php")); $soap->addFunction('do_baoming'); $soap->addFunction(SOAP_FUNCTIONS_ALL); $soap->handle(); function do_baoming($arr){ if(!is_array($arr)){ $data=array('flag'=>'0','info'=>'数据格式错误'); return json_encode($data); }else{ //1.0必须参数 $canshu=array( //参数 array(错误值,[正则验证表达式,],错误提示) 'xingming' =>array('','姓名不能为空'), 'dianhua' =>array('','请输入正确的电话号码'), 'loupan' =>array('','请提供楼盘信息'), 'mianji' =>array('','请输入正确的面积'), 'fangxing' =>array('','请选择房型'), 'ip' =>array('','请提供IP来源'), 'pagefrom' =>array('','请提供来路页面'), 'position' =>array('','请提供入口位置信息'), 'remark' =>array('','') ); //1.1过滤arr参数 foreach($arr as $kp=>$vp){ if(array_key_exists($kp,$canshu)){ $canshu[$kp][0]=htmlspecialchars($vp,ENT_QUOTES); } } //1.2比较必须参数及记录对应值 foreach($canshu as $k2=>$v2){ if($k2=='xingming' || $k2=='dianhua'){ if($v2[0]==''){ $data=array('flag'=>'0','info'=>$v2[1]); return json_encode($data); } }else{ } } //2.0添加数据 require('../include/pdo.mysql.class.php'); require('../include/function.class.php'); $con=new mySQLHelper; date_default_timezone_set('PRC'); $tjshijian=time(); $res=$con->ZhiXing("insert into table1(c1,c2,c3,c4,...) value(?,?,?,?,...)", array( $canshu['xingming'][0],$canshu['dianhua'][0],$canshu['loupan'][0],$canshu['mianji'][0], $canshu['fangxing'][0],0,$tjshijian,$canshu['ip'][0], $canshu['pagefrom'][0],$canshu['position'][0],0,$canshu['remark'][0] )); if($res>0){ $data=array('flag'=>'1','info'=>'信息提交成功!'); return json_encode($data); }else{ $data=array('flag'=>'0','info'=>'提交失败,请重试'); return json_encode($data); } } } ?>
客户端
<?php session_start(); if($_GET){ $data=array('flag'=>'0','info'=>'非法操作'); showmsg($data); } $_now=time(); //此处可以加入提交频率限制 require('function.class.php'); $ip=ChunTing::getip(); $pagefrom=$_SERVER["HTTP_REFERER"]; try{ $client = new SoapClient( null, array( 'location' =>"http://www.xxxx.com/server/server.php", 'uri' => "server.php" ) ); $arr=$_POST; $arr['ip']=$ip; $arr['pagefrom']=$pagefrom; $data= $client->do_baoming($arr); $_SESSION['pre']=$_now; echo $data; }catch(SoapFault $fault){ $xxx=$fault->getMessage(); showerr(); } function showerr(){ $data=array('flag'=>'0','info'=>'提交失败,请重试'); showmsg($data); } function showmsg($data){ echo json_encode($data); exit; } ?>
这个例子不是完整可用的,主要是为了展示webserver功能,通过soap。