Ejemplo n.º 1
0
    // handles input from client. For now the method will only
    // respond to GET requests.
    public void GetClientInput(object obj)
    {
        var client = (TcpClient)obj;

        stream = client.GetStream();
        streamR = new StreamReader(stream);
        streamW = new StreamWriter(stream);
        streamW.AutoFlush = true;

        try {
            string input = streamR.ReadLine();
            string path = "/";

            string[] request = Regex.Split(input, @"\s+");
            if (request.Length != 1)
                path = request[1];

            if (request[0].Equals("GET") && request.Length < 4 ) { //>
                handleGETRequest(request, path);
            }
            else {
                // handle 400 bad request
                outputResponseLines4xx(BAD_REQUEST, "400: Bad Request.");
            }
            stream.Close();

        } catch (Exception) {
            stream.Close();
        }
    }
Ejemplo n.º 2
0
    public static void Main()
    {
        try
        {
            bool status = true ;
            string servermessage = "" ;
            string clientmessage = "" ;
            TcpListener tcpListener = new TcpListener(8100) ;
            tcpListener.Start() ;
            Console.WriteLine("Server Started") ;

            Socket socketForClient = tcpListener.AcceptSocket() ;
            Console.WriteLine("Client Connected") ;
            NetworkStream networkStream = new NetworkStream(socketForClient) ;
            StreamWriter streamwriter = new StreamWriter(networkStream) ;
            StreamReader streamreader = new StreamReader(networkStream) ;

            while(status)
            {
                if(socketForClient.Connected)
                {
                    servermessage = streamreader.ReadLine() ;
                    Console.WriteLine("Client:"+servermessage) ;
                    if((servermessage== "bye" ))
                    {
                        status = false ;
                        streamreader.Close() ;
                        networkStream.Close() ;
                        streamwriter.Close() ;
                        return ;

                    }
                    Console.Write("Server:") ;
                    clientmessage = Console.ReadLine() ;

                    streamwriter.WriteLine(clientmessage) ;
                    streamwriter.Flush() ;
                }

            }
            streamreader.Close() ;
            networkStream.Close() ;
            streamwriter.Close() ;
            socketForClient.Close() ;
            Console.WriteLine("Exiting") ;
        }
        catch(Exception e)
        {
            Console.WriteLine(e.ToString()) ;
        }
    }
Ejemplo n.º 3
0
 public static void Main()
 {
     TcpListener tcpListener = new TcpListener(10);
     tcpListener.Start();
     Socket socketForClient = tcpListener.AcceptSocket();
     if (socketForClient.Connected)
     {
         Console.WriteLine("Client connected");
         NetworkStream networkStream = new NetworkStream(socketForClient);
         System.IO.StreamWriter streamWriter =
         new System.IO.StreamWriter(networkStream);
         System.IO.StreamReader streamReader =
         new System.IO.StreamReader(networkStream);
         string theString = "Sending";
         streamWriter.WriteLine(theString);
         Console.WriteLine(theString);
         streamWriter.Flush();
         theString = streamReader.ReadLine();
         Console.WriteLine(theString);
         streamReader.Close();
         networkStream.Close();
         streamWriter.Close();
     }
     socketForClient.Close();
     Console.WriteLine("Exiting...");
 }
Ejemplo n.º 4
0
    /// <summary>
    /// Calling recieve over and over for each client until they exit.
    /// </summary>
    public static void Listeners()
    {
        Socket socketForClient = tcpListener.AcceptSocket();
        if (socketForClient.Connected)
        {
            Console.WriteLine("Client:" + socketForClient.RemoteEndPoint + " now connected to server.");
            NetworkStream networkStream = new NetworkStream(socketForClient);
            System.IO.StreamWriter streamWriter =
            new System.IO.StreamWriter(networkStream);
            System.IO.StreamReader streamReader =
            new System.IO.StreamReader(networkStream);

            //here we recieve client's text if any.
            while (true)
            {
                string theString = testReceive(socketForClient);

                if (theString.ToLower() == "exit")
                {
                    break;
                }
            }
            streamReader.Close();
            networkStream.Close();
            streamWriter.Close();

        }
        Console.WriteLine("Client disconnected from IP: " + socketForClient.RemoteEndPoint);
        socketForClient.Close();
        Console.ReadKey();
    }
Ejemplo n.º 5
0
    public IEnumerator process()
    {
        netStream = socket.GetStream();

        // wait until request is parsed
        yield return srv.StartCoroutine(parseRequest());

        if(error == null){

            // wait until headers are parsed
            yield return srv.StartCoroutine(parseHeaders());

            if(error == null){

                switch(http_method){
                case "GET":
                    yield return srv.StartCoroutine(handleGetRequest());
                    break;
                case "POST":
                    yield return srv.StartCoroutine(handlePostRequest());
                    break;
                default:
                    Debug.LogError("Unknown http_method " + http_method);
                    error = "Unknown http_method " + http_method;
                    break;
                }
            }
        }

        socket.Close();
        netStream.Close();
    }
    static void Main(string[] args)
    {
        String n="", horariosOut="";
        IPAddress ip = IPAddress.Parse("127.0.0.1");
        TcpListener tcpListener = new TcpListener(ip, 5050);
        tcpListener.Start();
        Socket serverSock = tcpListener.AcceptSocket();

        if (serverSock.Connected)
        {
            NetworkStream con = new NetworkStream(serverSock);
            //Archivo local en servidor, el cual se activará para mandar un correo
         StreamWriter crearArchivoLocal = new StreamWriter("C:/Users/Dell/Documents/datoAdjunto.txt");

         StreamWriter enviarDatos = new StreamWriter(con);
          StreamReader recibirDatos = new StreamReader(con);

            if(recibirDatos.ReadLine()!=""){
                horariosOut = "Horarios disponibles: 1) 9:00 am  2) 12:00 pm  3) 3:00pm  4) 5:00 pm  5) 12:00 am. Seleccione alguna opción indicando con un numero";
                   enviarDatos.WriteLine(horariosOut);
            enviarDatos.Flush();
                }

            if(recibirDatos.ReadLine().Equals("2")){

                       n = (recibirDatos.ReadLine() );

            crearArchivoLocal.WriteLine(n);

            }

            if(recibirDatos.ReadLine().Equals("3")){
                EnviarEmail enviarCorreo = new EnviarEmail();
                bool exito = enviarCorreo.EnviarMail(recibirDatos.ReadLine(), "Datos de reservación", n, "AerolinasMisael", "*****@*****.**", "josueupbc");
                if (exito == true)
                {
                    enviarDatos.WriteLine(n + " El correo fue enviado exitosamente");
                    Console.WriteLine("El correo ha sido enviado exitosamente");
                }
                else
                    Console.Error.WriteLine("No fue posible enviar el correo");
                enviarDatos.Flush();

            }

            recibirDatos.Close();
            crearArchivoLocal.Close();
            enviarDatos.Close();
            con.Close();
           serverSock.Close();
        }
        else
            Console.WriteLine("Fallo en la conexion");

        Console.ReadKey();
    }
Ejemplo n.º 7
0
    private void ReceiveCommands()
    {
        while(true) {
            Socket socket = listener.AcceptSocket();

            Stream stream = new NetworkStream(socket);
            StreamReader reader = new StreamReader(stream);

            string command = reader.ReadLine();
            ExecuteCommand(command);

            reader.Close();
            stream.Close();
            socket.Close();
        }
    }
    private void ListenForClients()
    {
        TcpClient client = null;
          tcpListener.Start();
          Debug.Log ("Up....!");
          running = true;
          try {
          	client = tcpListener.AcceptTcpClient();
          } catch {
        goto end;
          }
          while (running)  {
        clientStream = client.GetStream();

        byte[] message = new byte[4096];
        int bytesRead = 0;

         try {
          //blocks until a client sends a message
          bytesRead = clientStream.Read(message, 0, 4096);
         } catch {
          //a socket error has occured
          Debug.Log ("socket read error");
          break;
         }

         if (bytesRead == 0) {
          //the client has disconnected from the server
          break;
         }

        //message has successfully been received

        request = encoder.GetString(message, 0, bytesRead);
        if (request == "quit\n")
            break;
          }
        end:
          if (client != null) {
          	client.Close();
          	clientStream.Close ();
          	clientStream = null;
          }
          Debug.Log ("Down....!");
    }
Ejemplo n.º 9
0
        private void CloseConnection()
        {
            if (connection == null)
            {
                return;
            }

            try {
                networkStream?.Close(0);
            }
            catch (Exception) { }
            networkStream = null;

            try {
                connection.Close();
            }
            catch (Exception) { }
            connection = null;
        }
Ejemplo n.º 10
0
    public static void Service()
    {
        while (true)
        {
            Socket soc = listener.AcceptSocket();
            //soc.SetSocketOption(SocketOptionLevel.Socket,
            //        SocketOptionName.ReceiveTimeout,10000);
        #if LOG
                Console.WriteLine("Connected: {0}",
                                         soc.RemoteEndPoint);
        #endif
            try
            {
                Stream s = new NetworkStream(soc);
                StreamReader sr = new StreamReader(s);
                StreamWriter sw = new StreamWriter(s);
                sw.AutoFlush = true; // enable automatic flushing

                while (true)
                {
                    string name = sr.ReadLine();
                    if (name == "" || name == null) break;

                    sw.WriteLine(name);
                }
                s.Close();
            }
            catch (Exception e)
            {
        #if LOG
                    Console.WriteLine(e.Message);
        #endif
            }
        #if LOG
                Console.WriteLine("Disconnected: {0}",
                                        soc.RemoteEndPoint);
        #endif
            soc.Close();
        }
    }
    public static void StartListeningTcp() 
    {
        TcpThreadListener listener = new TcpThreadListener(0);
        NetworkStream ns = null;
        BinaryReader br = null;

        try 
        {
            listener.Start();
            IPEndPoint ipe = (IPEndPoint) listener.LocalEndpoint;
            Interlocked.Exchange(ref iPortNumber, ipe.Port);
            Console.WriteLine("Using port: {0}", iPortNumber);
            m_PortSetEvent.Set();

            Socket s = listener.AcceptSocket();
            ns = new NetworkStream(s);
            br = new BinaryReader( ns );   
            SByte iTemp ;
            for(int i = 0 ; i < sbArr.Length ; i++) 
            {
                iTemp = br.ReadSByte();
                if(iTemp != sbArr[i]) 
                {
                    iCountErrors++;
                    Console.WriteLine( "Error_0000_"+i+"! Expected=="+sbArr[i]+", got=="+iTemp);
                }
            }
            Console.WriteLine("We are done with the listening");
        }
        catch(Exception e) 
        {
            iCountErrors++ ;
            Console.WriteLine("Exception receiving Teleportation: " + e.Message + Environment.NewLine + e.StackTrace);
            m_PortSetEvent.Set();
        }
        finally
        {
            if (listener != null)
            {
                listener.Stop();
            }
            if (ns != null)
            {
                ns.Close();
            }
            if(br != null)
            {
                br.Close();
            }
        } //finally
    }
Ejemplo n.º 12
0
    public static void StartListeningTcp() 
    {
        TcpThreadListener listener = null;
        Socket s = null;
        NetworkStream ns = null;
        BinaryReader bs = null;
        try 
        {
            listener = new TcpThreadListener(0);
            listener.Start();
            IPEndPoint ipe = (IPEndPoint) listener.LocalEndpoint;
            Interlocked.Exchange(ref iPortNumber, ipe.Port);
            Console.WriteLine("Using port: {0}", iPortNumber);
            m_PortSetEvent.Set();

            s = listener.AcceptSocket();      
            ns = new NetworkStream(s);
            bs = new BinaryReader( ns , enc);   
            Console.WriteLine( enc.ToString() );
            int iNumBytesRead = bs.Read(new Byte[1024], 0, 1024) ;
            if ( iNumBytesRead != 1024 )
                iCountErrors++ ;
        }

        catch(Exception e) 
        {
            Console.WriteLine("Exception receiving Teleportation: " + e.Message + Environment.NewLine + e.StackTrace);
            m_PortSetEvent.Set();
        }
        finally
        {
            if (listener != null)
            {
                listener.Stop();
            }
            if (ns != null)
            {
                ns.Close();
            }
            if(bs != null)
            {
                bs.Close();
            }
        }
    }
Ejemplo n.º 13
0
    public static void StartListeningTcp() {
        TcpThreadListener listener = new TcpThreadListener(0);
        NetworkStream ns = null;
        StreamReader sr = null;
        try 
        {
            listener.Start();
            IPEndPoint ipe = (IPEndPoint) listener.LocalEndpoint;
            Interlocked.Exchange(ref iPortNumber, ipe.Port);
            Console.WriteLine("Using port: {0}", iPortNumber);
            m_PortSetEvent.Set();

            Socket s = listener.AcceptSocket();
            ns = new NetworkStream(s);
			sr = new StreamReader(ns);
            int iBytValue = 0 , iExpected = 65;
            for(int iLoop = 0 ; iLoop < 4 ; iLoop++){
                iBytValue = sr.Read();
                if(iBytValue  != iExpected++) {
    				iCountErrors++;
    				Console.WriteLine( "Error_66677! Incorrect character read");
    			}
            }
            Console.WriteLine("We are done with the listening");
        }
        catch(Exception e) {
            iCountErrors++ ;
            Console.WriteLine("Exception receiving Teleportation: " + e.Message + Environment.NewLine + e.StackTrace);
            m_PortSetEvent.Set();
        }
        finally
        {
            if (listener != null)
            {
                listener.Stop();
            }
            if (ns != null)
            {
                ns.Close();
            }
            if(sr != null)
            {
                sr.Close();
            }
        } //finally
    }
Ejemplo n.º 14
0
    public static void StartListeningTcp() 
    {
        TcpThreadListener listener = null;
        Socket s = null;
        NetworkStream ns = null;
        StreamReader sr = null;

        try 
        {
            listener = new TcpThreadListener(0);
            listener.Start();
            IPEndPoint ipe = (IPEndPoint) listener.LocalEndpoint;
            Interlocked.Exchange(ref iPortNumber, ipe.Port);
            Console.WriteLine("Using port: {0}", iPortNumber);
            m_PortSetEvent.Set();

            s = listener.AcceptSocket();
            ns = new NetworkStream(s);
            sr = new StreamReader(ns , enc, detectEncodingFromByteOrderMarks);
            String strRead = sr.ReadLine();
            Console.WriteLine("read string..." + strRead );
            if(strRead != strResult) 
            {
                iCountErrors++;
                Console.WriteLine( "Error_66677! Incorrect string read");
            }
        }
        catch(Exception e) 
        {
            iCountErrors++ ;
            Console.WriteLine("Exception receiving Teleportation: " + e.Message + Environment.NewLine + e.StackTrace);
            m_PortSetEvent.Set();
        }
        finally
        {
            if (listener != null)
            {
                listener.Stop();
            }
            if (ns != null)
            {
                ns.Close();
            }
            if(sr != null)
            {
                sr.Close();
            }
        } 
    }
Ejemplo n.º 15
0
    // set up connection for client to play Hangman
    public void GetGuesses()
    {
        // start listening for connections
        IPAddress local = IPAddress.Parse( "127.0.0.1" );
        TcpListener listener = new TcpListener( local, 50000 );
        listener.Start();

        // accept client connection and get NetworkStream to communicate with client
        Socket connection = listener.AcceptSocket();
        DisplayMessage( "Connection received\r\n" );

        NetworkStream socketStream = new NetworkStream( connection );

        // create reader and writer for client
        BinaryWriter writer = new BinaryWriter( socketStream );
        BinaryReader reader = new BinaryReader( socketStream );

        Random randomWord = new Random();
        int wordNumber = randomWord.Next(297);
        string word = "";
        StreamReader wordReader = new StreamReader("words.txt");
        for (int i = 0; i <= wordNumber; i++)
            word = wordReader.ReadLine();

        DisplayMessage("The secret word is: " + word + "\r\n");
        writer.Write(word.Length);

        int numberWrong = 0;
        int numberLettersLeft = word.Length;
        int numberCharsInWord = 0;
        char guess;

        while (numberLettersLeft > 0 && numberWrong < 5)
        {
            numberCharsInWord = 0;
            guess = reader.ReadChar();
            DisplayMessage("The User guessed " + guess + "\r\n");

            for (int i = 0; i < word.Length; i++)
            {
                if (word[i] == guess)
                {
                    numberCharsInWord++;
                }
            }
            writer.Write(numberCharsInWord);
            if (numberCharsInWord != 0)
            {
                for (int i = 0; i < word.Length; i++)
                {
                    if (word[i] == guess)
                    {
                        writer.Write(i);
                        numberLettersLeft--;
                    }
                }
            }
            else
	        {
                numberWrong++;
	        }
        }//endwhile
        if (numberLettersLeft != 0 && numberWrong == 5)
	    {
		    writer.Write(word);
	    }
        connection.Close();
        socketStream.Close();
        reader.Close();
        writer.Close();

    } // end method GetGuesses
    public static void StartListeningTcp() 
    {
        TcpThreadListener listener = new TcpThreadListener(0);
        NetworkStream ns = null;
        BinaryReader br = null;

        try 
        {
            listener.Start();
            IPEndPoint ipe = (IPEndPoint) listener.LocalEndpoint;
            Interlocked.Exchange(ref iPortNumber, ipe.Port);
            Console.WriteLine("Using port: {0}", iPortNumber);
            m_PortSetEvent.Set();

            Socket s = listener.AcceptSocket();
            ns = new NetworkStream(s);
            br = new BinaryReader( ns );   
            Char[] charArr = new Char[chArr.Length];  
            int i32 = br.Read(charArr, 0, charArr.Length);
            if(i32 != chArr.Length ) 
            {
                iCountErrors++;
                Console.WriteLine( "Error_4353! Incorrect number of chars read, read=="+i32);
            } 
            for(int i = 0 ; i < chArr.Length ; i++) 
            { 
                if(charArr[i] != chArr[i]) 
                {
                    iCountErrors++;
                    Console.WriteLine( "Error_58byc_"+i+"! Incorrect character, expected=="+chArr[i]+", got=="+charArr[i]);
                }
            }
            Console.WriteLine("We are done with the listening");
        }
        catch(Exception e) 
        {
            iCountErrors++ ;
            Console.WriteLine("Exception receiving Teleportation: " + e.Message + Environment.NewLine + e.StackTrace);
            m_PortSetEvent.Set();
        }
        finally
        {
            if (listener != null)
            {
                listener.Stop();
            }
            if (ns != null)
            {
                ns.Close();
            }
            if(br != null)
            {
                br.Close();
            }
        } //finally
    }
Ejemplo n.º 17
0
    public static void StartListeningTcp() 
    {
        //Use 0 to cause socket to use a free port number.
        TcpThreadListener listener = new TcpThreadListener(0);
        NetworkStream ns = null;
        BinaryReader bs = null;
        try 
        {
            listener.Start();
            IPEndPoint ipe = (IPEndPoint) listener.LocalEndpoint;
            Interlocked.Exchange(ref iPortNumber, ipe.Port);
            Console.WriteLine("Using port: {0}", iPortNumber);
            m_PortSetEvent.Set();

            Socket s = listener.AcceptSocket();
            ns = new NetworkStream(s);
            bs = new BinaryReader( ns );
            Console.WriteLine( bs.Read(new Byte[1024], 0, 1024) );
        }
        catch(Exception e) 
        {
            Console.WriteLine("Exception receiving Teleportation: " + e.Message + Environment.NewLine + e.StackTrace);
            m_PortSetEvent.Set();
        }

        finally
        {
            if (listener != null)
            {
                listener.Stop();
            }
            if (ns != null)
            {
                ns.Close();
            }
            if(bs != null)
            {
                bs.Close();
            }
        } //finally

    }
Ejemplo n.º 18
0
 private void closeConnection()
 {
     client.Close();
     stream.Flush();
     stream.Close();
 }
    public static void StartListeningTcp() 
    {
        TcpThreadListener listener = new TcpThreadListener(0);
        NetworkStream ns = null;
        BinaryReader br = null;

        try 
        {
            listener.Start();
            IPEndPoint ipe = (IPEndPoint) listener.LocalEndpoint;
            Interlocked.Exchange(ref iPortNumber, ipe.Port);
            Console.WriteLine("Using port: {0}", iPortNumber);
            m_PortSetEvent.Set();

            Socket s = listener.AcceptSocket();
            ns = new NetworkStream(s);
            br = new BinaryReader( ns );   
            Byte[] bArrReturn = br.ReadBytes(bInputBytes.Length);
            if(bArrReturn.Length != bInputBytes.Length) 
            {
                iCountErrors++;
                Console.WriteLine( "Error_1900c! Incorrect number of chars read");
            }
            for(int i = 0 ; i < bInputBytes.Length ; i++) 
            {
                if(bArrReturn[i] != bInputBytes[i]) 
                {
                    iCountErrors++;
                    Console.WriteLine( "Error_298vc_"+i+"! Expected=="+(Int32)bInputBytes[i]+", got=="+(Int32)bArrReturn[i]);
                }
            }
            Console.WriteLine("We are done with the listening");
        }
        catch(Exception e) 
        {
            iCountErrors++ ;
            Console.WriteLine("Exception receiving Teleportation: " + e.Message + Environment.NewLine + e.StackTrace);
            m_PortSetEvent.Set();
        }
        finally
        {
            if (listener != null)
            {
                listener.Stop();
            }
            if (ns != null)
            {
                ns.Close();
            }
            if(br != null)
            {
                br.Close();
            }
        } //finally
    }
Ejemplo n.º 20
0
    public static void StartListeningTcp() 
    {

        TcpThreadListener listener = new TcpThreadListener(0);
        NetworkStream ns = null;
        BufferedStream bs = null;

        try 
        {
            listener.Start();
            IPEndPoint ipe = (IPEndPoint) listener.LocalEndpoint;
            Interlocked.Exchange(ref iPortNumber, ipe.Port);
            Console.WriteLine("Using port: {0}", iPortNumber);
            m_PortSetEvent.Set();

            Socket s = listener.AcceptSocket();
            ns = new NetworkStream(s);
            bs = new BufferedStream( ns );   
            int iByte ;
            for(int i = 0 ; i < 100 ; i++) 
            {
                iByte = bs.ReadByte ();
                if(iByte != i) 
                {
                    iCountErrors++;
                    Console.WriteLine( "Error_4324! Expected=="+i+", got=="+iByte);
                }
            }
            Console.WriteLine("We are done with the listening");
        }
        catch(Exception e) 
        {
            iCountErrors++ ;
            Console.WriteLine("Exception receiving Teleportation: " + e.Message + Environment.NewLine + e.StackTrace);
            m_PortSetEvent.Set();
        }
        finally
        {
            if (listener != null)
            {
                listener.Stop();
            }
            if (ns != null)
            {
                ns.Close();
            }
            if(bs != null)
            {
                bs.Close();
            }
        } //finally

    }
Ejemplo n.º 21
0
   } // end method inputTextBox_KeyDown

   // allows a client to connect; displays text the client sends
   public void RunServer()
   {
      TcpListener listener;
      int counter = 1;

      // wait for a client connection and display the text
      // that the client sends
      try
      {
         // Step 1: create TcpListener                    
         IPAddress local = IPAddress.Parse( "127.0.0.1" );
         listener = new TcpListener( local, 50000 );       

         // Step 2: TcpListener waits for connection request
         listener.Start();                                  

         // Step 3: establish connection upon client request
         while ( true )
         {
            DisplayMessage( "Waiting for connection\r\n" );

            // accept an incoming connection     
            connection = listener.AcceptSocket();

            // create NetworkStream object associated with socket
            socketStream = new NetworkStream( connection );      

            // create objects for transferring data across stream
            writer = new BinaryWriter( socketStream );           
            reader = new BinaryReader( socketStream );           

            DisplayMessage( "Connection " + counter + " received.\r\n" );

            // inform client that connection was successfull  
            writer.Write( "SERVER>>> Connection successful" );

            DisableInput( false ); // enable inputTextBox

            string theReply = "";

            // Step 4: read string data sent from client
            do
            {
               try
               {   
                  // read the string sent to the server
                  theReply = reader.ReadString();

                  // display the message
                  DisplayMessage( "\r\n" + theReply );
               } // end try
               catch ( Exception )
               {
                  // handle exception if error reading data
                  break;
               } // end catch
            } while ( theReply != "CLIENT>>> TERMINATE"  &&
               connection.Connected );

            DisplayMessage( "\r\nUser terminated connection\r\n" );

            // Step 5: close connection  
            writer.Close();              
            reader.Close();              
            socketStream.Close();        
            connection.Close();          

            DisableInput( true ); // disable InputTextBox
            counter++;
         } // end while
      } // end try
      catch ( Exception error )
      {
         MessageBox.Show( error.ToString() );
      } // end catch
   } // end method RunServer
    public static void StartListeningTcp() 
    {
        TcpThreadListener listener = new TcpThreadListener(0);
        NetworkStream ns = null;
        BinaryReader br = null;

        try 
        {
            listener.Start();
            IPEndPoint ipe = (IPEndPoint) listener.LocalEndpoint;
            Interlocked.Exchange(ref iPortNumber, ipe.Port);
            Console.WriteLine("Using port: {0}", iPortNumber);
            m_PortSetEvent.Set();

            Socket s = listener.AcceptSocket();
            ns = new NetworkStream(s);
            br = new BinaryReader( ns );   
            Int32 tmp = 0;
            for(int i = 0 ; i < chArr.Length ; i++) 
            {
                tmp = br.PeekChar();
                if(tmp != -1) 
                {
                    iCountErrors++;
                    Console.WriteLine( "It's a network stream.... We always expect -1... but the real value..." + tmp);
                }
                br.Read();
            }
            Console.WriteLine("We are done with the listening");
        }
        catch(Exception e) 
        {
            Console.WriteLine("Exception receiving Teleportation: " + e.Message + Environment.NewLine + e.StackTrace);
            m_PortSetEvent.Set();
        }
        finally
        {
            if (listener != null)
            {
                listener.Stop();
            }
            if (ns != null)
            {
                ns.Close();
            }
            if(br != null)
            {
                br.Close();
            }
        } //finally
    }
Ejemplo n.º 23
0
    public void ProcessClient( object socket )
    {
        Socket connection = (Socket)socket;
        NetworkStream socketStream=new NetworkStream(connection);
        BinaryWriter writer = new BinaryWriter(socketStream);
        BinaryReader reader = new BinaryReader(socketStream);

        if(connection != null)
        {
            sockets.Add(Thread.CurrentThread , connection);
        }
        writers.Add(Thread.CurrentThread , writer);

        string theReply = "";

        do
        {
            try
            {
                theReply = reader.ReadString();
                string[] words = theReply.Split('\r' , '\t' , ' ');
                if(words[0].Contains("Register"))
                {
                    User user = new User(words[1] , words[2]);
                    List<User> list = new List<User>();
                    if(!File.Exists(path))
                    {
                    }
                    else
                    {
                        XmlSerializer xmlSer = new XmlSerializer(typeof(UserCollection));
                        //var sr = new StreamReader(path);
                        using(var stream = File.OpenRead(path))
                        {
                            list=((UserCollection)xmlSer.Deserialize(stream)).Users;
                            if(list.Contains(user))
                            {
                                DisplayMessage("\r\n" + theReply + " true");
                                writer.Write(" true ");
                            }
                            else
                            {
                                DisplayMessage("\r\n" + theReply + " false");
                                writer.Write(" false ");
                            }
                        }
                    }
                }
                else if(words[0].Contains("Card"))
                {
                    Regex r = new Regex(@"\d{4}-\d{4}-\d{4}-\d{4}");
                    if(r.IsMatch(words[1])&&LuhnCheck(words[1]))
                    {
                        string scrypt = Transform(words[1]);
                        writer.Write(scrypt);
                    }
                    else
                    {
                        writer.Write("Invalid input");
                    }
                }
                else if(words[0].Contains("Cypher"))
                {
                    Regex r = new Regex(@"\d{4}-\d{4}-\d{4}-\d{4}");
                    if(r.IsMatch(words[1]))
                    {
                        string scrypt = Transform(words[1]);
                        writer.Write(scrypt);
                    }
                    else
                    {
                        writer.Write("Invalid input");
                    }
                }
                else
                {
                    writer.Write("Error");
                }
            }
            catch(Exception)
            {
                break;
            }
        } while(true);

        DisplayMessage("\r\nUser terminated connection\r\n");

        writer.Close();
        reader.Close();
        socketStream.Close();
        connection.Close();
        writers.Remove(Thread.CurrentThread);
        sockets.Remove(Thread.CurrentThread);
    }
Ejemplo n.º 24
0
    public static void StartListeningTcp() 
    {
        TcpThreadListener listener = new TcpThreadListener(0);
        NetworkStream ns = null;
        BinaryReader bs = null;

        try 
        {
            listener.Start();
            IPEndPoint ipe = (IPEndPoint) listener.LocalEndpoint;
            Interlocked.Exchange(ref iPortNumber, ipe.Port);
            Console.WriteLine("Using port: {0}", iPortNumber);
            m_PortSetEvent.Set();

            Socket s = listener.AcceptSocket();
            ns = new NetworkStream(s);
            bs = new BinaryReader( ns);   
            if ( bs.BaseStream != ns) 
            {
                Console.WriteLine("Unexpected base stream");
                iCountErrors++ ;
            }
        }
        catch(Exception e) 
        {
            Console.WriteLine("Exception receiving Teleportation: " + e.Message + Environment.NewLine + e.StackTrace);
            m_PortSetEvent.Set();
        }
        finally
        {
            if (listener != null)
            {
                listener.Stop();
            }
            if (ns != null)
            {
                ns.Close();
            }
            if(bs != null)
            {
                bs.Close();
            }
        } //finally
    }
Ejemplo n.º 25
0
    public static void StartListeningTcp() 
    {
        TcpThreadListener listener = new TcpThreadListener(0);
        NetworkStream ns = null;
        BufferedStream bs = null;

        try 
        {
            listener.Start();
            IPEndPoint ipe = (IPEndPoint) listener.LocalEndpoint;
            Interlocked.Exchange(ref iPortNumber, ipe.Port);
            Console.WriteLine("Using port: {0}", iPortNumber);
            m_PortSetEvent.Set();

            Socket s = listener.AcceptSocket();
            ns = new NetworkStream(s);
            bs = new BufferedStream( ns );   
            bs.Close();
            try
            {
                bs.Flush();
                iCountErrors++;
                Console.WriteLine( "Error_8989!!! Expected exception not occured");
            } 
            catch (ObjectDisposedException iexc) 
            {
                Console.WriteLine( "Info_9898! Caught expected exception, exc=="+iexc.Message);
            } 
            catch (Exception exc) 
            {
                iCountErrors++;
                Console.WriteLine( "Error_0000! Incorrect exception thrown, exc=="+exc.ToString());
            }
            Console.WriteLine("We are done with the listening");
        }
        catch(Exception e) 
        {
            iCountErrors++ ;
            Console.WriteLine("Exception receiving Teleportation: " + e.Message + Environment.NewLine + e.StackTrace);
            m_PortSetEvent.Set();
        }
        finally
        {
            if (listener != null)
            {
                listener.Stop();
            }
            if (ns != null)
            {
                ns.Close();
            }
            if(bs != null)
            {
                bs.Close();
            }
        } //finally

    }
Ejemplo n.º 26
0
    // -----
    // http://www.c-sharpcorner.com/UploadFile/dottys/SocketProgDTRP11222005023030AM/SocketProgDTRP.aspx
    // Socket Server
    public string socketServer()
    {
        string theString = "Hello!";

        //Creates an instance of the TcpListener class by providing a local port number.

        IPHostEntry host= Dns.GetHostEntry("localhost");

        TcpListener tcpListener = new TcpListener(host.AddressList[0], 10);

        tcpListener.Start();
        Socket socketForClient = tcpListener.AcceptSocket();
        if (socketForClient.Connected)
        {

            NetworkStream networkStream = new NetworkStream(socketForClient);
            System.IO.StreamWriter streamWriter =
                new System.IO.StreamWriter(networkStream);
            System.IO.StreamReader streamReader =
                new System.IO.StreamReader(networkStream);

            streamWriter.WriteLine(theString);

            // textBox1.Text += theString + Environment.NewLine;

            streamWriter.Flush();

            while (theString != "quit")
            {
                theString = streamReader.ReadLine();
                excuteCmd(theString);
                streamWriter.WriteLine("Yes! My Lord!");
                streamWriter.Flush();
            }

            // textBox1.Text += theString + Environment.NewLine;

            streamReader.Close();
            networkStream.Close();
            streamWriter.Close();

        }

        socketForClient.Close();
        //textBox1.Text += "Exiting..." + Environment.NewLine;

        return theString;
    }
Ejemplo n.º 27
0
   } // end method inputTextBox_KeyDown

   // connect to server and display server-generated text
   public void RunClient()
   {
      TcpClient client;

      // instantiate TcpClient for sending data to server
      try
      { 
         DisplayMessage( "Attempting connection\r\n" );

         // Step 1: create TcpClient and connect to server
         client = new TcpClient();                        
         client.Connect( "127.0.0.1", 50000 );             

         // Step 2: get NetworkStream associated with TcpClient
         output = client.GetStream();                          

         // create objects for writing and reading across stream
         writer = new BinaryWriter( output );                   
         reader = new BinaryReader( output );                   

         DisplayMessage( "\r\nGot I/O streams\r\n" );
         DisableInput( false ); // enable inputTextBox
      
         // loop until server signals termination
         do
         {
            // Step 3: processing phase
            try
            {
               // read message from server        
               message = reader.ReadString();     
               DisplayMessage( "\r\n" + message );
            } // end try
            catch ( Exception )
            {
               // handle exception if error in reading server data
               System.Environment.Exit( System.Environment.ExitCode );
            } // end catch
         } while ( message != "SERVER>>> TERMINATE" );
      
         // Step 4: close connection
         writer.Close();            
         reader.Close();            
         output.Close();            
         client.Close();            

         Application.Exit();
      } // end try
      catch ( Exception error )
      {
         // handle exception if error in establishing connection
         MessageBox.Show( error.ToString(), "Connection Error",
            MessageBoxButtons.OK, MessageBoxIcon.Error );
         System.Environment.Exit( System.Environment.ExitCode );
      } // end catch
   } // end method RunClient
Ejemplo n.º 28
0
    // Use this for initialization
    void Start()
    {
        string machineName = "datisbox.net";
        int port = 8666;
        string serverCertificateName = "tsarpf-cert.pem";

        client = new TcpClient(machineName, port).GetStream();
        Console.WriteLine("Client connected.");
        // Create an SSL stream that will close the client's stream.
        stream = new SslStream(
           client,
           false,
           new RemoteCertificateValidationCallback(ValidateServerCertificate),
           null
           );
        // The server name must match the name on the server certificate.
        try
        {
            stream.AuthenticateAsClient(serverCertificateName);
        }
        catch (AuthenticationException e)
        {
            Console.WriteLine("Exception: {0}", e.Message);
            if (e.InnerException != null)
            {
                Console.WriteLine("Inner exception: {0}", e.InnerException.Message);
            }
            Console.WriteLine("Authentication failed - closing the connection.");
            client.Close();
            return;

        }

        //TODO: authentication handlinga ödlfjglkj
    }
Ejemplo n.º 29
0
    public static void StartListeningTcp() 
    {
        TcpThreadListener listener = new TcpThreadListener(0);
        NetworkStream ns = null;
        StreamReader sr = null;
        try 
        {
            listener.Start();
            IPEndPoint ipe = (IPEndPoint) listener.LocalEndpoint;
            Interlocked.Exchange(ref iPortNumber, ipe.Port);
            Console.WriteLine("Using port: {0}", iPortNumber);
            m_PortSetEvent.Set();

            Socket s = listener.AcceptSocket();
            ns = new NetworkStream(s);
            sr = new StreamReader(ns);
            try 
            {
                Int32 tmp = 0;
                for(int i = 0 ; i < chArr.Length ; i++) 
                {
                    if((tmp = sr.Read()) != (Int32)chArr[i]) 
                    {
                        iCountErrors++;
                        Console.WriteLine( "Error_9090_"+i+"! Expected=="+(Int32)chArr[i]+", got=="+tmp);
                    }
                }
            } 
            catch (Exception exc) 
            {
                iCountErrors++;
                Console.WriteLine( "Error_5555! Incorrect exception thrown, exc=="+exc.ToString());
            }
            Console.WriteLine("We are done with the listening");
        }
        catch(Exception e) 
        {
            iCountErrors++ ;
            Console.WriteLine("Exception receiving Teleportation: " + e.Message + Environment.NewLine + e.StackTrace);
            m_PortSetEvent.Set();
        }
        finally
        {
            if (listener != null)
            {
                listener.Stop();
            }
            if (ns != null)
            {
                ns.Close();
            }
            if(sr != null)
            {
                sr.Close();
            }
        } //finally
    }
Ejemplo n.º 30
0
    static void Main(string[] args)
    {
        int points;
        double fx;
        string entrada, lgr, cubic, result;
        string[] array1;
        List<double> x = new List<double>();
        List<double> y = new List<double>();
        IPAddress ip = IPAddress.Parse("127.0.0.1");
        TcpListener tcpListener = new TcpListener(ip, 5050);

        tcpListener.Start();

        Socket serverSock = tcpListener.AcceptSocket();

        if (serverSock.Connected)
        {
            NetworkStream con = new NetworkStream(serverSock);
            StreamWriter wr = new StreamWriter(con);
            StreamReader rd = new StreamReader(con);

            entrada = (rd.ReadLine()); // lagrange|cubic|4|5|1|4|7|8|4|7|1|9|         FORMATO DE ENTRADA

            array1= entrada.Split('|'); // llamando metodo split
            List<string> list = new List<string>(array1); // Constructor de listas

            result = Convert.ToString(list.Count());

            lgr = list[0];
            cubic = list[1];
            points = int.Parse(list[2]);
            fx = double.Parse(list[3]);

            for (int i = 4; i < (points + 4); i++)
            {
                x.Add(double.Parse(list[i]));
            }

            for (int i = (4 + points); i < (4 + (points * 2)); i++)
            {
                y.Add(double.Parse(list[i]));
            }

            list.Clear();

            if (lgr == "lagrange")
            {
                Lagrange lg = new Lagrange();
                list.Add(Convert.ToString(lg.lagrange_metodo(fx, x, y)));
            }
            else
                list.Add("N/A");

            if (cubic=="cubic")
            {
                CS_Spline spl = new CS_Spline();
                list.Add(Convert.ToString(spl.Cubic_Spline(fx, x, y)));
                list.Add(spl.formula);
            }
            else
            {
                list.Add("N/A");
                list.Add("N/A");
            }

            StringBuilder builder = new StringBuilder();
            foreach (string value in list) // Loop through all strings
            {
                builder.Append(value).Append("|"); // Append string to StringBuilder
            }
            result = builder.ToString();

            Console.WriteLine(result);
            wr.WriteLine(result);
            wr.Flush();

            rd.Close();
            wr.Close();
            con.Close();
            serverSock.Close();
        }
        else
        {
            Console.WriteLine("Fallo en la conexion");
        }
    }
    public static void StartListeningTcp() 
    {
        TcpThreadListener listener = new TcpThreadListener(0);
        NetworkStream ns = null;
        StreamReader sr = null;

        try 
        {
            listener.Start();
            IPEndPoint ipe = (IPEndPoint) listener.LocalEndpoint;
            Interlocked.Exchange(ref iPortNumber, ipe.Port);
            Console.WriteLine("Using port: {0}", iPortNumber);
            m_PortSetEvent.Set();

            Socket s = listener.AcceptSocket();
            ns = new NetworkStream(s);
            sr = new StreamReader(ns);
            try 
            {
                String text =  sr.ReadLine();    
                if(text != strValue) 
                {
                    iCountErrors++;
                    Console.WriteLine( "Unexpected text in the stream..." + text);
                }
            } 
            catch (Exception exc) 
            {
                iCountErrors++;
                Console.WriteLine( "Error_5555! Incorrect exception thrown, exc=="+exc.ToString());
            }
            Console.WriteLine("We are done with the listening");
        }
        catch(Exception e) 
        {
            iCountErrors++ ;
            Console.WriteLine("Exception receiving Teleportation: " + e.Message + Environment.NewLine + e.StackTrace);
            m_PortSetEvent.Set();
        }
        finally
        {
            if (listener != null)
            {
                listener.Stop();
            }
            if (ns != null)
            {
                ns.Close();
            }
            if(sr != null)
            {
                sr.Close();
            }
        } //finally
    }
    public static void StartListeningTcp() 
    {
        TcpThreadListener listener = new TcpThreadListener(0);
        NetworkStream ns = null;
        BinaryReader br = null;
        
        try 
        {
            listener.Start();
            IPEndPoint ipe = (IPEndPoint) listener.LocalEndpoint;
            Interlocked.Exchange(ref iPortNumber, ipe.Port);
            Console.WriteLine("Using port: {0}", iPortNumber);
            m_PortSetEvent.Set();

            Socket s = listener.AcceptSocket();
            ns = new NetworkStream(s);
            br = new BinaryReader( ns );   
            Int64 iTemp;
            Int64 iVal;
            for( int iLoop = 0 ; iLoop < chArrValues.Length ; iLoop++ )
            {     
		iVal = (Int64)(byte)chArrValues[iLoop] + (1<<8) * (Int64)(byte)chArrValues[(iLoop+1) % chArrValues.Length] +
					(1<<16) * (Int64)(byte)chArrValues[(iLoop+2) % chArrValues.Length] +
					(1<<24) * (Int64)(byte)chArrValues[(iLoop+3) % chArrValues.Length];
                iTemp = br.ReadInt64();

                if(iTemp != iVal) 
                {  
                    iCountErrors++;
                    Console.WriteLine( "Error_5453c_"+iLoop+"! Expected=="+iVal+", got=="+iTemp);
                } 
            }
            Console.WriteLine("We are done with the listening");
        }
        catch(Exception e) 
        {
            iCountErrors++ ;
            Console.WriteLine("Exception receiving Teleportation: " + e.Message + Environment.NewLine + e.StackTrace);
            m_PortSetEvent.Set();
        }
        finally
        {
            if (listener != null)
            {
                listener.Stop();
            }
            if (ns != null)
            {
                ns.Close();
            }
            if(br != null)
            {
                br.Close();
            }
        } //finally
    }