zoukankan      html  css  js  c++  java
  • Silverlight的OOB特性 (转)

     

    Out Of Brower 传输层协议使用带外数据(out-of-band,OOB)来发送一些重要的数据,如果通信一方有重要的数据需要通知对方时,协议能够将这些数据快速地发送到对方.为了发送这些数据,协议一般不使用与普通数据相同的通道,而是使用另外的通道.linux系统的套接字机制支持低层协议发送和接受带外数据.但是TCP协议没有真正意义上的带外数据.为了发送重要协议,TCP提供了一种称为紧急模式(urgent mode)的机制.TCP协议在数据段中设置URG位,表示进入紧急模式.接收方可以对紧急模式采取特殊的处理.很容易看出来,这种方式数据不容易被阻塞,可以通过在我们的服务器端程序里面捕捉SIGURG信号来及时接受数据或者使用带OOB标志的recv函数来接受.   Intel主动管理技术 (Intel AMT) 就是使用的OOB.   

    Out Of Brower   

    是微软SilverLight一项新技术的一个特性 SliverLight 可以独立浏览器而访问系统特定文件 目录 和一般的桌面程序一样 可以最大化 最小化 拖动 消息弹出窗口 安装 快捷方式 等.

    下面列举一个Silverlight OOB的Demo,该Demo包括安装、检测更新、系统托盘、调用Com组件打开Word等

    View Code
    1 using System;
    2  using System.Collections.Generic;
    3 using System.Linq;
    4 using System.Net;
    5 using System.Windows;
    6 using System.Windows.Controls;
    7 using System.Windows.Documents;
    8 using System.Windows.Input;
    9 using System.Windows.Media;
    10 using System.Windows.Media.Animation;
    11 using System.Windows.Shapes;
    12 using System.Runtime.InteropServices.Automation;
    13
    14 namespace SilverlightApplicationDemo
    15 {
    16 publicpartialclass MainPage : UserControl
    17 {
    18 public MainPage()
    19 {
    20 InitializeComponent();
    21 App.Current.CheckAndDownloadUpdateAsync();
    22 Loaded +=new RoutedEventHandler(MainPage_Loaded);
    23 App.Current.CheckAndDownloadUpdateCompleted +=new CheckAndDownloadUpdateCompletedEventHandler(Current_CheckAndDownloadUpdateCompleted);
    24 webb.Source =new Uri("http://www.bing.com");
    25 //webb.NavigateToString("<b>Hello World</b>");
    26 webb.LoadCompleted +=new System.Windows.Navigation.LoadCompletedEventHandler(webb_LoadCompleted);
    27 }
    28
    29 void webb_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
    30 {
    31 //系统托盘
    32 NotificationWindow notify =new NotificationWindow();
    33 notify.Width =400;
    34 notify.Height =100;
    35 TextBlock tb =new TextBlock();
    36 tb.Text ="load complete";
    37 tb.FontSize =24;
    38 notify.Content = tb;
    39 notify.Show(3000);
    40 }
    41
    42 void Current_CheckAndDownloadUpdateCompleted(object sender, CheckAndDownloadUpdateCompletedEventArgs e)
    43 {
    44 //检测更新
    45 if (e.UpdateAvailable)
    46 {
    47 MessageBox.Show("An Update has been installed To see the updates please ecit and restart tne application!");
    48 }
    49 }
    50
    51 void MainPage_Loaded(object sender, RoutedEventArgs e)
    52 {
    53 if (App.Current.InstallState == InstallState.Installed)
    54 {
    55 InstallContainer.Visibility = Visibility.Collapsed;
    56 }
    57 }
    58
    59 privatevoid installbtn_Click(object sender, System.Windows.RoutedEventArgs e)
    60 {
    61 // 安装
    62 App.Current.Install();
    63 }
    64
    65 privatevoid LaunchBtn_Click(object sender, System.Windows.RoutedEventArgs e)
    66 {
    67 // 调用Com组件打开Word
    68 dynamic word = AutomationFactory.CreateObject("Word.Application");
    69 word.Visible =true;
    70 dynamic doc = word.Documents.Add();
    71 string insertText = TextRegion.Text;
    72 dynamic range = doc.Range(0,0);
    73 range.Text = insertText;
    74 }
    75 }
    76 }
    源代码下载地址:https://files.cnblogs.com/yujian/SilverlightApplicationDemo.rar
     
  • 相关阅读:
    vue开发chrome扩展,数据通过storage对象获取
    Vue手动集成less预编译器
    Google Translate寻找之旅
    Javascript Range对象的学习
    Javascript Promises学习
    SublimeText 建立构建Node js系统
    We're sorry but demo3 doesn't work properly without JavaScript enabled. Please enable it to continue.
    npm安装包出现UNMET DEPENDENCY报错
    (转载)命令行说明中格式 尖括号 中括号的含义
    Linux重启网卡服务Failed to start LSB: Bring up/down networking.
  • 原文地址:https://www.cnblogs.com/lingyuan/p/2239382.html
Copyright © 2011-2022 走看看