silverlight 连接 socket 通讯

silverlight 连接 socket 通讯,第1张

概述该文章转自 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_419_15@ 

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

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

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

         t.Start();
     }
}


     这里基本上都是开发socket应用时常用的类,我就不多说了,相信搞过socket开发的朋友一看便知.


步骤2:
创建silverlight Application 项目(也就是我们说的clIEnt)

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

< UserControl x:Class ="SocketClIEnt.Page"
     xmlns
="http://schemas.microsoft.com/clIEnt/2007"
     xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
     WIDth
="400" Height ="300" >
    
GrID x:name ="LayoutRoot" Background ="White" ShowGrIDlines ="True"
        
GrID.RowDeFinitions
            
RowDeFinition /> </ GrID.RowDeFinitions
       
        
TextBox ="txtToSend" GrID.Row ="0" button GrID.Row ="1" Click ="OnSend" Content ="Send" margin ="20" GrID
UserControl >
      然后将下面的cs代码放入Page.xaml.cs文件:

public partial class Page : UserControl
{
    



Socket socket;

    
// 发送信息按钮的单击事件      OnSend( object sender,EventArgs args)
     {
        
[] bytes EnCoding.Unicode.GetBytes(txtToSend.Text);
         socket
socketasynceventargs()
         {
             RemoteEndPoint
DnsEndPoint(
                Application.Current.Host.source.DnsSafeHost,0)">)
         };
         socketArgs.Completed
+= OnoperationCompleted;
         socketArgs.UserToken
bytes;
         socket.ConnectAsync(socketArgs);
     }

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

    
发送完成后,关闭当前socket链接 OnSendCompleted(


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

    


    
   

@H_419_15@ 

 

  

 

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

总结

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1051761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存