void Silverlight_UI_OnReceivedData(object sender, ToUI.ReceivedDataEventArgs e) { string clientPolicyString = "<policy-file-request/>"; string requeststring = System.Text.Encoding.UTF8.GetString(e.RevData, 0, e.RevData.Length); if (requeststring == clientPolicyString) { //策略步骤二:如果客户端请求是<policy-file-request/>,则将安全策略文件作为bytes发送给客户端 string path = System.Windows.Forms.Application.StartupPath + @"\clientaccesspolicy.xml"; if (System.IO.File.Exists(path)) { FileStream fs = new FileStream(path, FileMode.Open); int length = (int)fs.Length; byte[] accessbytes = new byte[length]; fs.Read(accessbytes, 0, length); fs.Close(); e.ClientSocket.Send(accessbytes, accessbytes.Length, System.Net.Sockets.SocketFlags.None); e.ClientSocket.Close(); } else { //log.Warn("Silverlight访问服务未找到安全策略文件!"); } } }
//界面传过来的召测数据报 void TcpServer_UI_OnReceivedData(object sender, ToUI.ReceivedDataEventArgs e) { try { ToUI.TcpServer tcp = sender as ToUI.TcpServer; ToUI.TcpBussiness.UpdSocket(tcp, e.ClientSocket); ServiceBussiness.WriteQxsd(e.RevData, this); } catch (Exception ex) { log.Warn(ex.ToString()); } }