刚开始学习C#,最近要用蓝牙连接PC,需要用到虚拟串口,想用SerialPort这个类实现,但是当调用SerialPort.readline的时候程序就死,readexisting读出的是空,应该是writeline有问题,数据没有发送出去。 public SerialPort port = new System.IO.Ports.SerialPort("COM6");
 {
            InitializeComponent();
           
        }
        private void Form1_Load(object sender, EventArgs e)
        {//对串口进行设置             port.PortName = SerialPort.GetPortNames()[0];//第一个可用端口 
              port.Parity = Parity.None;
            port.Handshake = Handshake.None;
            port.BaudRate = 9600;
            port.DataBits = 8;
            port.ReadTimeout = 50;
            port.WriteTimeout = 50;
        }        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                port.Open();
                label1.Text = port.PortName+ "打开成功";            }
            catch
            {                label1.Text = port.PortName.ToString() + "打开失败";
            }        }
        private void button2_Click(object sender, EventArgs e)
        {
            try
            {                // read.Join(); 
                port.Close();
                label1.Text = port.PortName.ToString() + "关闭成功";
            }
            catch
            {                label1.Text = port.PortName.ToString() + "关闭失败";
            }
        }        private void read_Click(object sender, EventArgs e)
        {
            string data;
            try
            {
                data = port.ReadLine();
                MessageBox.Show(data);
            }
            catch
            {
                MessageBox.Show("failed");
            }
        }
//写数据
        private void button1_Click_1(object sender, EventArgs e)
        {
            string message = "test";
            port1.Write(message);
         }一个最简单的程序,端口打开成功,就是数据传的时候失败。程序放在两台PC上,蓝牙连接的时候显示所使用的COM不一样:一个是COM4,一个是COM6。相应的,在程序里我把PortName改过之后再生成新的程序,但是读写依然错误。是不是PortName的地方设错了?另外串口程序能在同一台机子上测试吗?老是用两台有点麻烦谢谢各位了    }