silverlight   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了silverlight 连接 socket 通讯大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

该文章转自 http://hi.baidu.com/paycom/blog/item/9acad1f9acc96b5f242df2cb.html       silverlight 2(Beta)中的Socket应用示例 2008-07-20 00:49 步骤1:  建立一个console的服务端项目       因为是socket开发,肯定要有一个Sever端,因为是演示,所以示例中直接将服务器

文章转自 http://hi.baidu.com/paycom/blog/item/9acad1f9acc96b5f242df2cb.html

@H_@R_772_11289@_25@ 

 
 
silverlight 2(Beta)中的Socket应用示例
2008-07-20 00:49
@H_@R_772_11289@_25@步骤1:  建立一个console的服务端项目

      因为是socket开发,肯定要有一个sever端,因为是演示,所以示例中直接将服务器端的侦听代码
写入了main()函数代码段如下:

static @H_874_73@ void @H_874_73@ Main( String @H_874_73@[] args)
{
     Console.WriteLine( " 使用Silverlight Socket 发送信息演示: " @H_874_73@);
     Console.WriteLine( ================================================== "" @H_874_73@);
     Socket socket @H_874_73@= new @H_874_73@ Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
     socket.bind( @H_874_73@ IPEndPoint(Ipaddress.Any, 4502 @H_874_73@));
     socket.Listen( 5 @H_874_73@);
     while @H_874_73@ ( true @H_874_73@)
     {
         Socket s @H_874_73@ socket.Accept();
         Thread t @H_874_73@ Thread(() @H_874_73@=> @H_874_73@
         {
             try @H_874_73@
             {
                 @H_874_73@)
                 {
                     byte @H_874_73@[] buffer @H_874_73@[ 1024 @H_874_73@];
                     int @H_874_73@ receive @H_874_73@ s.Receive(buffer);
                     if @H_874_73@ (receive @H_874_73@!= @H_874_73@ 0 @H_874_73@)
                     {
                         Console.WriteLine(Encoding.Unicode.GetChars(buffer,0)">,receivE));
                     }
                 }
             }
             finally @H_874_73@
             {
                 s.Close();
             }
         });

         t.Start();
     }
}


     这里基本上都是开发socket应用时常用的类,@R_115_6963@,相信搞过socket开发的朋友一看便知.


@H_@R_772_11289@_25@步骤2:
创建silverlight Application 项目(也就是我们说的client)

      将下面的xaml代码放入Page.xaml中

@H_801_219@< UserControl x:Class ="SocketClient.Page"
     xmlns
="http://scheR_371_11845@as.microsoft.com/client/2007"
     xmlns:x
="http://scheR_371_11845@as.microsoft.com/winfx/2006/xaml"
     Width
="400" Height ="300" > @H_874_73@
     @H_874_73@Grid x:Name ="LayoutRoot" BACkground ="White" ShowGridLines ="True" @H_874_73@
         @H_874_73@Grid.RowDeFinitions @H_874_73@
             @H_874_73@RowDeFinition /> </ Grid.RowDeFinitions @H_874_73@
       
         @H_874_73@TextBox ="txtToSend" Grid.Row ="0" @H_874_73@Button Grid.Row ="1" Click ="OnSend" Content ="Send" Margin ="20" Grid @H_874_73@
@H_874_73@UserControl >

      然后将下面的cs代码放入Page.xaml.cs文件

@H_801_219@public partial class @H_874_73@ Page : UserControl
{
    

silverlight 连接 socket 通讯

silverlight 连接 socket 通讯



Socket socket;

     // @H_874_73@发送信息按钮的单击事件 @H_874_73@     @H_874_73@ OnSend( object @H_874_73@ sender,EventArgs args)
     {
         @H_874_73@[] bytes @H_874_73@ Encoding.Unicode.GetBytes(txtToSend.Text);
         socket               ProtocolType.Tcp);

         socketasynceventargs socketArgs
socketasynceventargs()
         {
             RemoteEndPoint @H_874_73@ DnsEndPoint(
                Application.Current.Host.source.DnsSafeHost,0)">)
         };
         socketArgs.Completed @H_874_73@+= @H_874_73@ OnOperationCompleted;
         socketArgS.UserToken @H_874_73@ bytes;
         socket.ConnectAsync(socketArgs);
     }

     @H_874_73@将数据放入buffer并进行异步发送 @H_874_73@ OnOperationCompleted( socketasynceventargs e)
     {
         e.Completed
-= OnOperationCompleted;
        
[])e.UserToken;
         socketasynceventargs sendArgs
@H_874_73@ socketasynceventargs();
         sendArgs.SetBuffer(bytes,bytes.Length);
         sendArgs.Completed @H_874_73@ OnSendCompleted;
         socket.SendAsync(sendArgs);
     }

     @H_874_73@发送完成后,关闭当前socket链接 @H_874_73@ OnSendCompleted( socketasynceventargs E)
     {
         socket.Close();
     }

silverlight 连接 socket 通讯

silverlight 连接 socket 通讯


}
   
      这样,程序开发就完成了.下面进行第三步,演示(如下图):

    

silverlight 连接 socket 通讯


    
   

@H_@R_772_11289@_25@ 

@H_450_457@ 

  

 

 这几天一直在搞这个东西,网上的前辈们搞的有一个很好的实例,但是那个是以前 silverlight 1 可以用的版本,现在的2根本用不鸟,需要配置一个安全策略服务程序跑起来,让silverlight程序能够通过挂起的连接通讯  ···晕 不能上附件? 

大佬总结

以上是大佬教程为你收集整理的silverlight 连接 socket 通讯全部内容,希望文章能够帮你解决silverlight 连接 socket 通讯所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。