用php生成wappush文件

来源:互联网 发布:宣传展板设计软件 编辑:程序博客网 时间:2024/04/30 04:01
其实语言不是问题,关键是格式。WAP PUSH 是什么?(概念解释)
WAP PUSH的概念

  所谓推(PUSH)技术是一种基于客户服务器机制、由服务器主动将信息发往客户端的技术,其传送的信息通常是用户事先预订的。同传统的拉(PULL)技术相比,最主要的区别在于前者是由服务器主动向客户机发送信息,而后者则是由客户机主动请求信息。PUSH技术的优势在于信息的主动性和及时性,而弱势则是信息的准确性较差。

  PUSH技术在Internet中没能取得大的成功,原因是多方面的。在固定网中计算机等固定设备为用户提供了足够的资源和能力去查找信息所以用户通常将它作为一个浏览信息的窗口,而不是被动的信息接收者。固定网用户对于信息准确性的要求远甚于对其及时性的要求。

  而在移动网中,由于存在着网络带宽、移动设备能力以及高昂的资费标准等诸多限制,用户无法像在固定网中一样方便地查找信息,如果将重要的信息主动及时地推送到用户的移动设备上无疑会大大方便用户。移动通信的优点是移动设备能够随时随地接收信息因此PUSH技术可以在移动网中大显身手,WAP PUSH正是PUSH技术和移动通信两者扬长避短相结合的产物。

  WAP PUSH是在移动网络中应用的PUSH技术它既具有一般PUSH技术的特点又拥有移动网络的特点。它的系统框架、使用协议和服务方式与固定网上的PUSH技术有很大不同。

     WAP PUSH技术结合了PUSH技术的优势和移动通信服务的特性,具有良好的应用前景。将PUSH技术应用于移动通信领域可以产生许多电信增值业务这包括移动中收发电子邮件,随时获得股价信息、天气预报、新闻以及位置相关服务等。所有这些服务的共同特点在于用户对信息的及时性要求比较高,用户希望能够通过手机、PDA等移动设备随时随地地得到该种服务。但是,WAP PUSH技术仍然存在着一些亟待解决的问题,如信息的鉴权与认证、信息的准确性、如何避免垃圾信息等。如何解决好这些问题将是WAP PUSH技术成功的关键。另外,随着GPRS技术和3G无线通信技术的发展,无线信道的带宽将逐步增大,WAP PUSH也将能进一步推送多媒体信息。

function getSMSPush($subject, $url)
 {
    $pushString = "";
    $body = "";
    // Content_length Pos
    $body .= chr(0x80);
    $body .= chr(0xb4);
    $body .= chr(0x84);
    // Begin Pos
    $body .= chr(0x02);
    $body .= chr(0x05); //-//WAPFORUM//DTD SI 1.0//EN
    $body .= chr(0x6A); //UTF-8
   // $body .= chr(0x03); //字符串开始
   // $body .= iconv( "GBK", "UTF-8", $subject ); //显示给用户的内容,用utf-8编码。utf-8编码,英文字符直接用ascii码;中文如果unicode是(二进制)
    $body .= chr(0x00); //字符串结束
    $body .= chr(0x45); //<si>
    $body .= chr(0xC6); //<indication
    $body .= chr(0x0C); //href="http://
    $body .= chr(0x03); //字符串开始
    $body .= iconv( "GBK", "UTF-8", $url ); //显示给用户的内容,用utf-8编码。utf-8编码,英文字符直接用ascii码;中文如果unicode是(二进制)
   $body .= chr(0x00); //字符串结束
    $body .= chr(0x08);   // action=signal-high
   $body .= chr(0x01); ;  // END( of indication attribute list)
  
    $body .= chr(0x03); //字符串开始
   
    $body .= iconv( "GBK", "UTF-8", $subject ); //实际地址
    $body .= chr(0x00); //字符串结束
   $body .= chr(0x01); ;  // END( of indication attribute list)
   $body .= chr(0x01); ;  // END( of indication attribute list)
  
  /*
   $body .= chr(0x08);   // action=signal-high
   $body .= chr(0x01); ;
    $body .= chr(0x83);
    $body .= chr(0x00); //字符串结束
    $body .= chr(0x01); //</indication>"
    $body .= chr(0x01); //'</si>
    */
    $length = strlen($body);
    $pud = "";
    $pud .= chr(0x72); //transaction id (connectionless WSP)
    $pud .= chr(0x06); //'pdu type (06=push)
    $pud .= chr(0x0a); //Headers len
    $pud .= chr(0x03);
    $pud .= chr(0xAE);
    $pud .= chr(0x81);
    $pud .= chr(0xEA); //content type: application/vnd.wap.sic; charset=utf-8
    $pud .= chr(0xaf);
    $pud .= chr(0x82);
    $pud .= chr(0x8D); //content-length
    $udh = "";
    $udh .= chr(0x06); //User Data Header Length (6 bytes)
    $udh .= chr(0x05); //$udh Item Element id (Port Numbers)
    $udh .= chr(0x04); //$udh IE length (4 bytes)
    $udh .= chr(0x0B);
    $udh .= chr(0x84); //destination port number
    $udh .= chr(0x23);
    $udh .= chr(0xF0); //origin port number
    $pushString = $udh . $pud . $body;
    print $pushString;
    return $pushString;
  }

 
原创粉丝点击