/* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110 */ /* Example15_12a.cs implements a NetworkStream server */ using System; using System.IO; using System.Net.Sockets ; public class Example15_12a { // Listen waits for connections private void Listen() { // listen on port 50001 TcpListener tcpl = new TcpListener(50001); tcpl.Start(); // wait for clients for (;;) { // Block here waiting for client connections Socket newSocket = tcpl.AcceptSocket(); if (newSocket.Connected) { // create a NetworkStream on the socket NetworkStream ns = new NetworkStream(newSocket); // send some data byte[] buf = {(byte)'H', (byte)'e', (byte)'l', (byte)'l', (byte)'o', (byte)' ', (byte)'N', (byte)'e', (byte)'t'}; ns.Write(buf, 0, 9); // cleanup ns.Flush(); ns.Close(); } // clean up and quit newSocket.Close(); break; } } public static void Main() { // launch a listening thread Example15_12a listener = new Example15_12a(); listener.Listen(); } }
C# Network
Write to a NetworkStream
using System; using System.IO; using System.Text; using System.Net; using System.Net.Sockets; class Program { static void Main(string[] args) { TcpClient client = new TcpClient(); IPHostEntry host = Dns.GetHostByName("www.google.com"); client.Connect(host.AddressList[0], 8000); NetworkStream clientStream = client.GetStream(); string request = "LIST"; byte[] requestBuffer = Encoding.ASCII.GetBytes(request); clientStream.Write(requestBuffer, 0, requestBuffer.Length); byte[] responseBuffer = new byte[256]; MemoryStream memStream = new MemoryStream(); int bytesRead = 0; do { bytesRead = clientStream.Read(responseBuffer, 0, 256); memStream.Write(responseBuffer, 0, bytesRead); } while (bytesRead > 0); } }
NetworkInterface: Speed
using System; using System.Net.NetworkInformation; class MainClass { static void Main() { if (NetworkInterface.GetIsNetworkAvailable()) { NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface ni in interfaces) { Console.WriteLine(" Speed: {0}", ni.Speed); } } else { Console.WriteLine("No network available."); } } }
NetworkInterface: NetworkInterfaceType
using System; using System.Net.NetworkInformation; class MainClass { static void Main() { if (NetworkInterface.GetIsNetworkAvailable()) { NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface ni in interfaces) { Console.WriteLine(" Type: {0}", ni.NetworkInterfaceType); } } else { Console.WriteLine("No network available."); } } }
NetworkInterface: Id
using System; using System.Net.NetworkInformation; class MainClass { static void Main() { if (NetworkInterface.GetIsNetworkAvailable()) { NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface ni in interfaces) { Console.WriteLine(" ID: {0}", ni.Id); } } else { Console.WriteLine("No network available."); } } }
NetworkInterface: Description
using System; using System.Net.NetworkInformation; class MainClass { static void Main() { if (NetworkInterface.GetIsNetworkAvailable()) { NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface ni in interfaces) { Console.WriteLine(" Description: {0}", ni.Description); } } else { Console.WriteLine("No network available."); } } }
NetworkInterface: Name
using System; using System.Net.NetworkInformation; class MainClass { static void Main() { if (NetworkInterface.GetIsNetworkAvailable()) { NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface ni in interfaces) { Console.WriteLine("Interface Name: {0}", ni.Name); } } else { Console.WriteLine("No network available."); } } }