moh_mov
پنج شنبه 10 تیر 1389, 10:03 صبح
سلام خدمت دوستان....
برنامه ای نوشتم که از طریق پورت سریال محیطی برای chat می سازه....گرچه هنوز ناقصه!
مشکل من ابنه که در کد مورد نظر من data در طریق پورت سریال می فرستم ولی دریافت داده از سمت دیگر ندارم....data می رسد ولی برنامه نمی فهمد!:عصبانی++:
احتمال 99 درصد مشکل در قسمت read و readThread هست....لطف کنین کمک کنید!
مطئنا داده فرستاده می شه و من تونستم داده که به کامپیوتر دیگر می رسه رو بخونم...ولی....نمی تونم اونو نمایش بدم!
راستی من می خوام یک ساعت هم توش بگذارم که ساعت ویندوز رو نشون بده و بشه اون رو هم تغییر داد!کسی ایده ای داره؟
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
using System.Threading;
namespace Chat
{
public partial class Form1 : Form
{
static string messages;
static Boolean _port = true;
static SerialPort _serialPort=new SerialPort();
Thread readThread;
public Form1()
{
readThread = new Thread(Read);
InitializeComponent();
}
private void button4_Click(object sender, EventArgs e)
{
Dispose();
}
private void button2_Click(object sender, EventArgs e)
{
messages = textBox1.Text;
textBox1.Clear();
te.Text = te.Text + "\n" + messages;
serialportsend(messages);
}
private void button1_Click(object sender, EventArgs e)
{
if (_port)
{
openport();
button1.Text = "Close Port";
_port = false;
}
else
{
closeport();
button1.Text = "Open Port";
_port = true;
}
}
public void openport()
{
_serialPort.ReadTimeout = 500;
_serialPort.WriteTimeout = 500;
_serialPort.Open();
readThread.Start();
}
public void closeport()
{
readThread.Join();
_serialPort.Close();
}
public void serialportsend(String mess)
{
_serialPort.WriteLine(mess);
}
public void Read()
{
try
{
te.Text=messages + "\n" + _serialPort.ReadLine();
}
catch (TimeoutException) { }
}
private void te_TextChanged(object sender, EventArgs e)
{
}
}
}
برنامه ای نوشتم که از طریق پورت سریال محیطی برای chat می سازه....گرچه هنوز ناقصه!
مشکل من ابنه که در کد مورد نظر من data در طریق پورت سریال می فرستم ولی دریافت داده از سمت دیگر ندارم....data می رسد ولی برنامه نمی فهمد!:عصبانی++:
احتمال 99 درصد مشکل در قسمت read و readThread هست....لطف کنین کمک کنید!
مطئنا داده فرستاده می شه و من تونستم داده که به کامپیوتر دیگر می رسه رو بخونم...ولی....نمی تونم اونو نمایش بدم!
راستی من می خوام یک ساعت هم توش بگذارم که ساعت ویندوز رو نشون بده و بشه اون رو هم تغییر داد!کسی ایده ای داره؟
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
using System.Threading;
namespace Chat
{
public partial class Form1 : Form
{
static string messages;
static Boolean _port = true;
static SerialPort _serialPort=new SerialPort();
Thread readThread;
public Form1()
{
readThread = new Thread(Read);
InitializeComponent();
}
private void button4_Click(object sender, EventArgs e)
{
Dispose();
}
private void button2_Click(object sender, EventArgs e)
{
messages = textBox1.Text;
textBox1.Clear();
te.Text = te.Text + "\n" + messages;
serialportsend(messages);
}
private void button1_Click(object sender, EventArgs e)
{
if (_port)
{
openport();
button1.Text = "Close Port";
_port = false;
}
else
{
closeport();
button1.Text = "Open Port";
_port = true;
}
}
public void openport()
{
_serialPort.ReadTimeout = 500;
_serialPort.WriteTimeout = 500;
_serialPort.Open();
readThread.Start();
}
public void closeport()
{
readThread.Join();
_serialPort.Close();
}
public void serialportsend(String mess)
{
_serialPort.WriteLine(mess);
}
public void Read()
{
try
{
te.Text=messages + "\n" + _serialPort.ReadLine();
}
catch (TimeoutException) { }
}
private void te_TextChanged(object sender, EventArgs e)
{
}
}
}