/*
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.");
}
}
}