srirambs7 0 Newbie Poster

i have a serial communication process (windows service type prgrm), and a server client program.
how can the server be integrated inside the windows service type process i.e., whenever i start the serial process the server program should also run.
please do leave me with solution,suggestions,advise or the code it would be of much help. the link for the code is
http://www.4shared.com/file/5hXMdbhi/Code.html
i have the separate working programs,how can i merge the server program into the serial process(windows service type) such that whenever i start the service server should also run!
please suggest the code for that or any advise.or where should i include the server program in the server process.
serial process

/*using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.IO.Ports;


namespace OacRigPsmService
{
   
    public partial class OacPsmService : ServiceBase
    {
        private bool openStatus;
        private System.IO.FileStream m_logfile;
        private System.IO.StreamWriter m_logStream;
        System.IO.Ports.SerialDataReceivedEventHandler dataHandler;
        private byte[] m_rawBuffer;
        private int m_bufferSize;
        private int m_buffOfset;

        public OacPsmService()
        {
            InitializeComponent();
            openStatus = false;
            m_rawBuffer = new byte[256];
            m_bufferSize = 256;
            m_buffOfset = 0;

            for (int i = 0; i < m_bufferSize; ++i)
                m_rawBuffer[i] =0 ;
            
        }

        protected override void OnStart(string[] args)
        {
             dataHandler = new SerialDataReceivedEventHandler(ReceiveDataProcess);
             this.serialPort1.DataReceived += dataHandler;
            
            this.serialPort1.Open();
            openStatus = this.serialPort1.IsOpen;
  

       //     System.IO.FileStream  m_logfile = new System.IO.FileStream(@"c:\temp\oacPsmService.txt", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write); 
          //   System.IO.StreamWriter m_logStream = new System.IO.StreamWriter(m_logfile);
                m_logfile = new System.IO.FileStream(@"c:\temp\oacPsmService.txt", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write); 
              m_logStream = new System.IO.StreamWriter(m_logfile);
            m_logStream.BaseStream.Seek(0, System.IO.SeekOrigin.End);
            m_logStream.WriteLine("Service started -Ver1.0 " + openStatus + " :: " + DateTime.Now.ToString());
            m_logStream.Flush();
           // m_logStream.Close(); 
        }

        protected override void OnStop()
        {

            serialPort1.Write(m_rawBuffer, 0, m_buffOfset);

            this.serialPort1.Close();
            openStatus = this.serialPort1.IsOpen;
            //System.IO.FileStream m_logfile = new System.IO.FileStream(@"c:\temp\oacPsmService.txt", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);
            //System.IO.StreamWriter m_logStream = new System.IO.StreamWriter(m_logfile);

            m_logStream.Write("COMDATA:" );
            for (int i = 0; i < m_buffOfset; ++i)
            {
               m_logStream.Write(m_rawBuffer[i]);
              
            }
            m_logStream.WriteLine(" ");
            m_logStream.WriteLine("Service Closed " + openStatus + " :: " + DateTime.Now.ToString());
            m_logStream.Flush();
            m_logStream.Close(); 
        }

      //  public static void ReceiveDataProcess(object sender, SerialDataReceivedEventArgs e)
        public  void ReceiveDataProcess(object sender, SerialDataReceivedEventArgs e)
        {
           
                System.IO.Ports.SerialPort port = sender as SerialPort;
               
                //  string message = port.ReadLine();

            System.IO.FileStream m_comfile = new System.IO.FileStream(@"c:\temp\comdata.txt", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);
            System.IO.StreamWriter m_comStream = new System.IO.StreamWriter(m_comfile);
            m_comStream.BaseStream.Seek(0, System.IO.SeekOrigin.End);
          //  m_comStream.WriteLine("COM DATA :: " + DateTime.Now.ToString() + " :: " + message);
            m_comStream.WriteLine("COM EVENT :: " +  port.BytesToRead.ToString());

            m_buffOfset +=  port.Read(m_rawBuffer,  m_buffOfset, port.BytesToRead);

            if (m_buffOfset > 25)
            {
                port.Write(m_rawBuffer, 0, m_buffOfset);
                m_buffOfset = 0;
            }

          //string msg = port.ReadExisting();
            //m_logStream.WriteLine("test Line"); 
            //m_comStream.WriteLine("DATA " + msg);
            m_comStream.Flush();
            m_comStream.Close();         
            
          //  m_logStream.WriteLine("COM Data = ", message);
        }
    }
}
*/

server

using System;
using System.Threading;
using System.Net.Sockets;
using System.Text;

namespace ConsoleApplication1
{
    class Server
    {
        static void Main(string[] args)
        {
            TcpListener serverSocket = new TcpListener(8889);
            TcpClient clientSocket = default(TcpClient);
            int counter = 0;

            serverSocket.Start();
            Console.WriteLine(" >> " + "Server Started");

            counter = 0;
            while (true)
            {
                counter += 1;
                clientSocket = serverSocket.AcceptTcpClient();
                Console.WriteLine(" >> " + "Client No:" + Convert.ToString(counter) + " started!");
                handleClinet client = new handleClinet();
                client.startClient(clientSocket, Convert.ToString(counter));
            }

            clientSocket.Close();
            serverSocket.Stop();
            Console.WriteLine(" >> " + "exit");
            Console.ReadLine();
        }//end of main
    }// end of class

    //Class to handle each client request separatly
    public class handleClinet
    {
        TcpClient clientSocket;
        string clNo;
        public void startClient(TcpClient inClientSocket, string clineNo)
        {
            this.clientSocket = inClientSocket;
            this.clNo = clineNo;
            Thread ctThread = new Thread(doChat);
            ctThread.Start();
        }
        private void doChat()
        {
            int requestCount = 0;
            byte[] bytesFrom = new byte[10025];
            string dataFromClient = null;
            Byte[] sendBytes = null;
            string serverResponse = null;
            string rCount = null;
            requestCount = 0;

            while ((true))
            {
                try
                {
                    requestCount = requestCount + 1;
                    NetworkStream networkStream = clientSocket.GetStream();
                    networkStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize);
                    dataFromClient = System.Text.Encoding.ASCII.GetString(bytesFrom);
                    dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$"));
                    Console.WriteLine(" >> " + "From client-" + clNo + dataFromClient);

                    rCount = Convert.ToString(requestCount);
                    serverResponse = "Server to clinet(" + clNo + ") " + rCount;
                    sendBytes = Encoding.ASCII.GetBytes(serverResponse);
                    networkStream.Write(sendBytes, 0, sendBytes.Length);
                    networkStream.Flush();
                    Console.WriteLine(" >> " + serverResponse);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(" >> " + ex.ToString());
                }
            }//end of while
        }// end of dochat
    }// end of handle client class
}