Project Title: Implementation of energy efficient communication scheme for MANETs using Random cast techniques

Study Area Review: Wireless communications

Aims: Main aim of this project is to develop energy efficient communication plan using Random cast technique across Mobile Adhoc networks

Router Sceenshot

Router Sceenshot


• To understand the concept of MANETs and different communication techniques across them
• To prepare a literature review on existing communication schemes and the role of energy efficiency in this process and evaluate the disadvantages among them
• To design a Random cast technique to overcome the limitations found in the literature review and implement across MANETs for better energy efficient communication process
• To develop a dotnet application that can demonstrate the proposed system practically
• To test the application and evaluate the results
• To document the observations and prepare a proper thesis report


Following are the deliverables of this project:

• A proper literature review on existing communication techniques across MANETs
• Random cast algorithm that can explain all the steps involved creating an energy efficient communication scheme for MANETs
• Design documents, which can be used to understand the front and backend design of the application
• Prototype of the application, before executing on the real environment
• Dotnet code that can demonstrate the application practically
• Results and observations

Project Type:

This is both research and development project, where I will do some basic research on MANETs and existing communication techniques and I will develop Random cast algorithm based application to implement the energy efficient communication across MANETs.

Professional Project Claim

This project emphasises design and evaluates a dotnet system using appropriate processes and tools, as follows

Hardware Requirements:

• System : Pentium IV 2.4 GHz.
• Hard Disk : 40 GB.
• Ram : 512 Mb.

Software Requirements:

• Operating system : – Windows XP Professional.
• Front End : – Asp .Net 2.0.
Coding Language : – Visual C# .Net.

 Source code for client:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.IO;

namespace DestCode
public partial class Client : Form
public Client()
DestCode.receivedPath = “”;

private void button1_Click(object sender, EventArgs e)


private void timer1_Tick(object sender, EventArgs e)
label5.Text = DestCode.receivedPath;
lblres.Text = DestCode.curMsg;


DestCode obj = new DestCode();
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)


private void Form1_Load(object sender, EventArgs e)

private void button2_Click(object sender, EventArgs e)
FolderBrowserDialog f = new FolderBrowserDialog();
if (f.SelectedPath != “”)
DestCode.receivedPath = f.SelectedPath;
label5.Text = f.SelectedPath;
MessageBox.Show(“Please Select a File Receiving Path.\r\n Else You Can not Receive the File”);

private void label5_Click(object sender, EventArgs e)


class DestCode
IPEndPoint ipEnd;
Socket sock;
public DestCode()
IPHostEntry ipEntry = Dns.GetHostEntry(Environment.MachineName);
IPAddress IpAddr = ipEntry.AddressList[0];
ipEnd = new IPEndPoint(IpAddr, 5656);
sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
public static string receivedPath;
public static string curMsg = “”;
public void StartServer()
//curMsg = “Starting…”;

// curMsg = “Running and waiting to receive file.”;
Socket clientSock = sock.Accept();

byte[] clientData = new byte[1024 * 5000];

int receivedBytesLen = clientSock.Receive(clientData);
curMsg = “Receiving data…”;

int fileNameLen = BitConverter.ToInt32(clientData, 0);
string fileName = Encoding.ASCII.GetString(clientData, 4, fileNameLen);

BinaryWriter bWrite = new BinaryWriter(File.Open(receivedPath +”/”+ fileName, FileMode.Append)); ;
bWrite.Write(clientData,4 + fileNameLen, receivedBytesLen – 4 – fileNameLen);
if (receivedPath == “”)
MessageBox.Show(“No Path was selected to Save the File”);
curMsg = “Saving file …”;

curMsg = “File Received …”;


catch (Exception ex)
curMsg = “File Receving error.”;