Reader Level:
ARTICLE

Socket Programming in C#

Posted by Dottys Articles | Networking September 03, 2001
This program is useful for a starter who wants to write C# code using .Net Sockets.
  • 1
  • 0
  • 417185

Introduction :

The Program Socket Programming is a starter for those who want to write C# code using .Net Sockets. It lets you use Socket Connections with other systems.

The server waits for the connection and gives a Warm Welcome Message to the user or the client.

Tools/API Information

This programme is written using Net.Socket and no extra feature is used. This is written with the intent to help anyone to understand the use of sockets and networks and to show that C# has great support for networking.

Benefits

There is a lot of code but still I am providing this because of its simplicity and you can use write this code with just a text editor such as Notepad/TextPad/Editor.

Server-side Code:

using System;
using System.Net.Sockets;
public class AsynchIOServer
{
public static void Main()
{
TCPListener tcpListener =
new TCPListener(10);
tcpListener.Start();
Socket socketForClient = tcpListener.Accept();
if (socketForClient.Connected)
{
Console.WriteLine("Client connected");
NetworkStream networkStream =
new NetworkStream(socketForClient);
System.IO.StreamWriter streamWriter =
new System.IO.StreamWriter(networkStream);
System.IO.StreamReader streamReader =
new System.IO.StreamReader(networkStream);
string theString = "Sending";
streamWriter.WriteLine(theString);
Console.WriteLine(theString);
streamWriter.Flush();
theString = streamReader.ReadLine();
Console.WriteLine(theString);
streamReader.Close();
networkStream.Close();
streamWriter.Close();
}
socketForClient.Close();
Console.WriteLine("Exiting...");
}
}

Client Code:

using System;
using System.Net.Sockets;
public class Client
{
static public void Main( string[] Args )
{
TCPClient socketForServer;
try
{
socketForServer =
new TCPClient("localHost", 10);
}
catch
{
Console.WriteLine(
"Failed to connect to server at {0}:999", "localhost");
return;
}
NetworkStream networkStream = socketForServer.GetStream();
System.IO.StreamReader streamReader =
new System.IO.StreamReader(networkStream);
System.IO.StreamWriter streamWriter =
new System.IO.StreamWriter(networkStream);
try
{
string outputString;
// read the data from the host and display it
{
outputString = streamReader.ReadLine();
Console.WriteLine(outputString);
streamWriter.WriteLine("Client Message");
Console.WriteLine("Client Message");
streamWriter.Flush();
}
}
catch
{
Console.WriteLine("Exception reading from Server");
}
// tidy up
networkStream.Close();
}
}

Article Extensions
Contents added by nitesh nitesh on Sep 04, 2009
COMMENT USING