Writing UDP Client Server Program
Writing UDP Client Server Program
Server Program
Client Server Programming
Server
Client
Server Process
Client process
Writing UDP Server Program using UdpClient
Class
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class UdpSocketServer
{
public static void Main()
{
IPEndPoint localEP = new IPEndPoint(IPAddress.Any, 4400);
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram,
ProtocolType.Udp);
server.Bind(localEP);
Console.WriteLine("Waiting for a client...");
EndPoint remoteEP = new IPEndPoint(IPAddress.Any, 0);
int recv;
byte[] data;
while (true)
{
data = new byte[1024];
recv = server.ReceiveFrom(data, ref remoteEP);
Console.Write("Received from {0}: ", remoteEP.ToString());
Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));
server.SendTo(data, recv, SocketFlags.None, remoteEP);
}
}
}
Writing UDP Client Program using UdpClient
Class
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class SimpleUdpClient
{
public static void Main()
{
Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
EndPoint remoteEP = new IPEndPoint(IPAddress.Parse("10.20.0.231"), 4400);
byte[] data;
string input;
int recv;
while (true)
{
Console.Write("Enter message for server or exit to stop: ");
input = Console.ReadLine();
if (input == "exit")
break;
client.SendTo(Encoding.ASCII.GetBytes(input), remoteEP);
data = new byte[1024];
recv = client.ReceiveFrom(data, ref remoteEP);
Console.Write("Echo from from {0}: ", remoteEP.ToString());
Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));
}
Console.WriteLine("Stopping client");
client.Close();
}
}