C# Server Socket program

C# Server Socket program


The C# Socket Programming has two sections.


1. C# Server Socket Program


2. C# Client Socket Program



csharp-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.

2/Post a Comment/Comments

  1. Spot on with this write-up, I really believe that this amazing site needs mych more
    attention. I'll probably be back again to rea through more, thanks for the info!

    ReplyDelete
  2. These are genuinely normous ideas in on the topic of blogging.
    You have touched some good points here. Any way keep up wrinting.

    ReplyDelete

Post a Comment

Previous Post Next Post

Sidebar Ads

Ads1
Ads2