private void button1_Click(object sender, EventArgs e)
        {
            using (TcpClientConnection client = new TcpClientConnection()) {
                client.NetworkStream = new NetworkStream();

                client.TimeOut = 60000;
                client.Open(HostResolver.GetIPAddress("127.0.0.1"), 2110);
                MessageBox.Show("Client connected");

                using (StringStream data = new StringStream("Data to be sent")) {
                    client.WriteData(data);
                    data.SetLength(0);
                    client.IsReadUntilClose = true;
                    client.ReadData(data);

                    MessageBox.Show(data.DataString);
                }

                client.Close(true);
                MessageBox.Show("Client disconnected");
            }
        }
Exemple #2
0
        private void btnPing_Click(object sender, EventArgs e)
        {
            using (var client = new IcmpConnection())
            {
                client.NetworkStream = new NetworkStream();
                client.TimeOut       = 1000;
                client.Open(HostResolver.GetIPAddress(txtHost.Text));

                txtResult.Text = "";

                for (int i = 0; i < 4; i++)
                {
                    try
                    {
                        client.SendEchoRequest();
                        var response = client.ReceiveResponse();
                        if (!(response.IcmpPacket is IcmpEchoPacket))
                        {
                            throw new Exception("Invalid ICMP reply");
                        }

                        txtResult.Text += String.Format("Reply from {0}: seq={1} received bytes={2} time={3}ms TTL={4}\r\n",
                                                        txtHost.Text,
                                                        (response.IcmpPacket as IcmpEchoPacket).SequenceNumber,
                                                        (response.IcmpPacket as IcmpEchoPacket).Data.Length,
                                                        response.RoundTripTime,
                                                        response.IpHeader.Ttl);

                        System.Threading.Thread.Sleep(1000);
                    }
                    catch (Exception ex)
                    {
                        txtResult.Text += " Error: " + ex.Message + "\r\n";
                    }
                }
            }
        }