C# Server Socket program The C# Socket Programming has two sections. 1. C# Server Socket Program 2. C# Client Socket Program Server Socket ...
C# Server Socket program
The C# Socket Programming has two sections.
1. C# Server Socket Program
Server Socket Program
The Server Socket Program here is a C# Console based Application . This program act as a Server and listening to clients request . Here we assign a Port No. 8888 for the Server Socket , it is an instance of the C# Class TcpListener , and call itsstart() method.
TcpListener serverSocket = new TcpListener(8888);
serverSocket.Start();
The next step is to create an infinite loop for monitoring the request from Client's side . When the Server Socket accept a request from the Client side, it reads the data from NetworkStream and also it write the response to NetworkStream .
From the following C# program you can understand how to create a Socket Server in C# . Create a new C# Console Application Project and put the following source code into the project.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
TcpListener serverSocket = new TcpListener(8888);
int requestCount = 0;
TcpClient clientSocket = default(TcpClient);
serverSocket.Start();
Console.WriteLine(" >> Server Started");
clientSocket = serverSocket.AcceptTcpClient();
Console.WriteLine(" >> Accept connection from client");
requestCount = 0;
while ((true))
{
try
{
requestCount = requestCount + 1;
NetworkStream networkStream = clientSocket.GetStream();
byte[] bytesFrom = new byte[10025];
networkStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize);
string dataFromClient = System.Text.Encoding.ASCII.GetString(bytesFrom);
dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$"));
Console.WriteLine(" >> Data from client - " + dataFromClient);
string serverResponse = "Last Message from client" + dataFromClient;
Byte[] sendBytes = Encoding.ASCII.GetBytes(serverResponse);
networkStream.Write(sendBytes, 0, sendBytes.Length);
networkStream.Flush();
Console.WriteLine(" >> " + serverResponse);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
clientSocket.Close();
serverSocket.Stop();
Console.WriteLine(" >> exit");
Console.ReadLine();
}
}
}
How to run this program ?
The C# Socket Programming has two sections.
1. C# Server Socket Program
2. C# Client Socket Program
When you finish coding and build the Server and Client program , First you have to start C# Server Socket Program from DOS prompt , then you will get a message " Server Started " in your DOS screen, where the server program is running .
Next step is to start C# Client Socket Program in the same computer or other computers on the same network . When you start the client program , it will establish a connection to the Server and get a message in client screen " Client Started " , at the same time you can see a message in the Server screen " Accept connection from client " .
Now your C# Server Socket Program and C# Client Socket Program is get connected and communicated . If you want to communicate the Server and Client again , click the button in the client program , then you can see new messages in the Server and Client programs displayed.
COMMENTS