@H_419_15@
步骤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 通讯所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)