期待更好更穩定的開源FrameWork的出現,讓我們一起努力吧!  
          日歷
          <2009年1月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567
          統計
          • 隨筆 - 78
          • 文章 - 1
          • 評論 - 29
          • 引用 - 0

          導航

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案(42)

          文章檔案(37)

          相冊

          搜索

          •  

          積分與排名

          • 積分 - 45521
          • 排名 - 1064

          最新隨筆

          最新評論

          閱讀排行榜

          評論排行榜

           

                TR 069是DSL Fourm提出來的一種協議,即CWMP協議,主要是對 用戶終端設備的管理。
          其功能主要有兩塊組成ACS(Auto Config Server)和CPE(Customer Pression Equalment)。其具體功能請參考
          TR-069協議,網絡上也有介紹,在此不再多說了。
               最近公司接到了一個項目,主要是對電信的AP(Access Point)設備進行性能監控和管理。我也是項目組的開發人員,主要是負責ACS的搭建。
               CPE會定時呼叫ACS,ACS也可以呼叫CPE。根據協議的描述,其實ACS和CPE之間的通信其實類似與WebService,在HTTP的基礎上通過RCP遠程過程調用CPE的方法。說白了,就是通過HTTP發送XML或者解析xml。那么ACS就很簡單了,只需要支持HTTP就可了,所以Servlet是ACS實現的一種選擇。

             在進行開發之前,必須確定你的CPE 支持TR-069協議,這個是基礎,否則本文也就沒有寫下去的必要了。
          目前測試的CPE是H3C的AP。由于我以前也沒接觸TR-069,這次是摸索這前進。
          既然是基于HTTP傳輸XML的通信,那么先寫個Servlet來接收XML消息了,第一次接觸,看了協議只知道規則,也不知道到底有啥,既然TR-069說AP會定時呼叫ACS,那么先接收消息了,看看能收到啥情報。
          第一,創建ACSServlet,準備接收消息。
          代碼如下:


           

           1import java.io.BufferedReader;
           2import java.io.IOException;
           3import java.io.InputStream;
           4import java.io.InputStreamReader;
           5import java.io.OutputStream;
           6import java.util.HashMap;
           7
           8import javax.servlet.ServletException;
           9import javax.servlet.http.HttpServlet;
          10import javax.servlet.http.HttpServletRequest;
          11import javax.servlet.http.HttpServletResponse;
          12import javax.servlet.http.HttpSession;
          13
          14import com.seahigh.tyt.acs.util.AcsUtil;
          15
          16
          17/**
          18 * ACS serverImp
          19 * 
          20 * @author 汪心利
          21 * @Create Time 2009-1-4下午04:34:42 (c)copy right seahigh 2009
          22 */

          23public class ACSServlet extends HttpServlet {
          24
          25 private static final long serialVersionUID = 1L;
          26
          27 public void doGet(HttpServletRequest request, HttpServletResponse response)
          28   throws ServletException {
          29
          30 }

          31
          32 public void doPost(HttpServletRequest request, HttpServletResponse response)
          33   throws ServletException, IOException {
          34  // session 記住已執行的method
          35
          36
          37   InputStream in = request.getInputStream();
          38   String ip = request.getRemoteAddr();
          39   InputStreamReader ir = new InputStreamReader(request.getInputStream());
          40   BufferedReader input = new BufferedReader(ir);
          41   String line;
          42   String xml = "";
          43   while ((line = input.readLine()) != null{
          44        if (line.trim().length() <= 0)
          45             continue;
          46            xml += line;
          47   }

          48   in.close();
          49   System.out.println(ip+"Post:"+xml);
          50
          51
          52      }

          53}

          54
          55

           

          不知道大家是怎么貼代碼的,感覺這樣貼代碼很不好看。呵呵。。。。。
          然后在web.xml中配置Servlet了,這個過程就不多說了。
          既然服務器寫好了,那么下一步就讓AP給我發Inform吧,當然AP并不知道ACS的地址
          所以下一步就需要配置AP了。
          再次申明:使用的是H3C的AP,不一定是通用的,具體請參考不同的CPE。
          Windows Command Window中輸入:
          //telent 到AP
          telnet 192.168.1.200
           //出現授權框,輸入用戶名和密碼
          system-view
          cwmp



          posted on 2009-01-07 17:06 BlueSky_itwangxinli 閱讀(2293) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
           
          Copyright © BlueSky_itwangxinli Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 宁化县| 桑植县| 静宁县| 来安县| 霍林郭勒市| 安庆市| 缙云县| 梧州市| 杭锦后旗| 贵州省| 会宁县| 永胜县| 米林县| 阜阳市| 奉贤区| 龙门县| 博罗县| 鹤峰县| 瑞丽市| 连平县| 高要市| 吉安市| 临江市| 静乐县| 乃东县| 鄂州市| 饶河县| 阜宁县| 柯坪县| 荥经县| 盐池县| 洛宁县| 汽车| 马鞍山市| 松桃| 张北县| 黎川县| 沁阳市| 甘洛县| 花莲市| 恩平市|