#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Aug 2012
    Posts
    1
    Rep Power
    0

    Search for the Com port


    Hello!

    I have problem with my program. I want my program to automatically search for the port which is connected to the phone. Now I have to manually enter the COM port. I already have the code to check the port. My question is how can I do to make my program automatically search for the COM port to which the phone is connected.
    Program:
    Code:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO.Ports;
     
    namespace telefon
    {
        class Program
        {
     
            static void Main(string[] args)
            {
                SerialPort portConfig = new SerialPort();
                portConfig.PortName = "COM4";
                portConfig.BaudRate = 2400;
                portConfig.Parity = Parity.None;
                portConfig.DataBits = 8;
                portConfig.StopBits = StopBits.One;
                portConfig.Handshake = Handshake.XOnXOff;
                portConfig.Encoding = Encoding.ASCII;
     
    
                portConfig.Open();
                portConfig.NewLine = "\r\n";
     
    
                portConfig.WriteLine("ATD 123456789;");
               
     
                Console.ReadLine();
            }
        }
    }
    program to test com ports activity:
    Code:
    using System;
    using System.IO.Ports;
    using System.Threading;
     
    public class PortChat
    {
        static bool _continue;
        static SerialPort _serialPort;
     
        public static void Main()
        {
            string name;
            string message;
            StringComparer stringComparer = StringComparer.OrdinalIgnoreCase;
            Thread readThread = new Thread(Read);
     
            // Create a new SerialPort object with default settings.
            _serialPort = new SerialPort();
     
            // Allow the user to set the appropriate properties.
            _serialPort.PortName = SetPortName(_serialPort.PortName);
            _serialPort.BaudRate = SetPortBaudRate(_serialPort.BaudRate);
            _serialPort.Parity = SetPortParity(_serialPort.Parity);
            _serialPort.DataBits = SetPortDataBits(_serialPort.DataBits);
            _serialPort.StopBits = SetPortStopBits(_serialPort.StopBits);
            _serialPort.Handshake = SetPortHandshake(_serialPort.Handshake);
     
            // Set the read/write timeouts
            _serialPort.ReadTimeout = 500;
            _serialPort.WriteTimeout = 500;
     
            _serialPort.Open();
            _continue = true;
            readThread.Start();
     
            Console.Write("Name: ");
            name = Console.ReadLine();
     
            Console.WriteLine("Type QUIT to exit");
     
            while (_continue)
            {
                message = Console.ReadLine();
     
                if (stringComparer.Equals("quit", message))
                {
                    _continue = false;
                }
                else
                {
                    _serialPort.WriteLine(
                        String.Format("<{0}>: {1}", name, message));
                }
            }
     
            readThread.Join();
            _serialPort.Close();
        }
     
        public static void Read()
        {
            while (_continue)
            {
                try
                {
                    string message = _serialPort.ReadLine();
                    Console.WriteLine(message);
                }
                catch (TimeoutException) { }
            }
        }
     
        public static string SetPortName(string defaultPortName)
        {
            string portName;
     
            Console.WriteLine("Available Ports:");
            foreach (string s in SerialPort.GetPortNames())
            {
                Console.WriteLine("   {0}", s);
            }
     
            Console.Write("COM port({0}): ", defaultPortName);
            portName = Console.ReadLine();
     
            if (portName == "")
            {
                portName = defaultPortName;
            }
            return portName;
        }
     
        public static int SetPortBaudRate(int defaultPortBaudRate)
        {
            string baudRate;
     
            Console.Write("Baud Rate({0}): ", defaultPortBaudRate);
            baudRate = Console.ReadLine();
     
            if (baudRate == "")
            {
                baudRate = defaultPortBaudRate.ToString();
            }
     
            return int.Parse(baudRate);
        }
     
        public static Parity SetPortParity(Parity defaultPortParity)
        {
            string parity;
     
            Console.WriteLine("Available Parity options:");
            foreach (string s in Enum.GetNames(typeof(Parity)))
            {
                Console.WriteLine("   {0}", s);
            }
     
            Console.Write("Parity({0}):", defaultPortParity.ToString());
            parity = Console.ReadLine();
     
            if (parity == "")
            {
                parity = defaultPortParity.ToString();
            }
     
            return (Parity)Enum.Parse(typeof(Parity), parity);
        }
     
        public static int SetPortDataBits(int defaultPortDataBits)
        {
            string dataBits;
     
            Console.Write("Data Bits({0}): ", defaultPortDataBits);
            dataBits = Console.ReadLine();
     
            if (dataBits == "")
            {
                dataBits = defaultPortDataBits.ToString();
            }
     
            return int.Parse(dataBits);
        }
     
        public static StopBits SetPortStopBits(StopBits defaultPortStopBits)
        {
            string stopBits;
     
            Console.WriteLine("Available Stop Bits options:");
            foreach (string s in Enum.GetNames(typeof(StopBits)))
            {
                Console.WriteLine("   {0}", s);
            }
     
            Console.Write("Stop Bits({0}):", defaultPortStopBits.ToString());
            stopBits = Console.ReadLine();
     
            if (stopBits == "")
            {
                stopBits = defaultPortStopBits.ToString();
            }
     
            return (StopBits)Enum.Parse(typeof(StopBits), stopBits);
        }
     
        public static Handshake SetPortHandshake(Handshake defaultPortHandshake)
        {
            string handshake;
     
            Console.WriteLine("Available Handshake options:");
            foreach (string s in Enum.GetNames(typeof(Handshake)))
            {
                Console.WriteLine("   {0}", s);
            }
     
            Console.Write("Handshake({0}):", defaultPortHandshake.ToString());
            handshake = Console.ReadLine();
     
            if (handshake == "")
            {
                handshake = defaultPortHandshake.ToString();
            }
     
            return (Handshake)Enum.Parse(typeof(Handshake), handshake);
        }
    }
    Pleace help
  2. #2
  3. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Aug 2012
    Posts
    4
    Rep Power
    0
    I want to start a server which listen to a port. I can specify port explicitly ... If you don't mind the port used, specify a port of 0 to the ServerSocket

IMN logo majestic logo threadwatch logo seochat tools logo