Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <pre><code>namespace SilverlightSocketClient { public partial class Page : UserControl { public Page() { InitializeComponent(); this.Loaded += PageLoaded; } void PageLoaded(object sender, RoutedEventArgs e) { var endPoint = new DnsEndPoint(Application.Current.Host.Source.DnsSafeHost, 4530); var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); var args = new SocketAsyncEventArgs {UserToken = socket, RemoteEndPoint = endPoint}; args.Completed += OnSocketConnectCompleted; socket.ConnectAsync(args); } private void OnSocketConnectCompleted(object sender, SocketAsyncEventArgs e) { var response = new byte[1024]; e.SetBuffer(response, 0, response.Length); e.Completed -= OnSocketConnectCompleted; e.Completed += OnSocketReceive; var socket = (Socket)e.UserToken; socket.ReceiveAsync(e); } private void OnSocketReceive(object sender, SocketAsyncEventArgs e) { StringReader sr = null; try { string data = Encoding.UTF8.GetString(e.Buffer, e.Offset, e.BytesTransferred); sr = new StringReader(data); //Get data if (data.Contains("Product")) { var xs = new XmlSerializer(typeof(Product)); var product = (Product) xs.Deserialize(sr); Dispatcher.BeginInvoke(UpdateOrder); } //Get another type of data if (data.Contains("Order")) { var xs = new XmlSerializer(typeof(Order)); var order = (Order)xs.Deserialize(sr); var handler = new SomeEventHandler(UpdateOrder); this.Dispatcher.BeginInvoke(handler, new object[] { order }); } } catch (Exception ex) { //handle exception } finally { if (sr != null) sr.Close(); } //Prepare to receive more data var socket = (Socket)e.UserToken; socket.ReceiveAsync(e); } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload