я есть встроенный доска (мини/крошечные 210) и я действительно пытался строить приложение, которое использует system.socket и system.socket.ne т в C# (VS2005 - wince5 устройства приложение, но у меня есть wince 6 на моем устройстве!)mini210 гнездо многопоточный
Моя цель - отправлять и принимать байты данных с использованием Ethernet. для отправки, ну нет проблем, но получать нужно многозадачность.
Я должен начать задание, чтобы он мог слушать порт, если есть какие-то данные, но как только я добавлю часть потока в свой код, вся программа выйдет из строя (доза не делает этого в pc x64 core i5), а во встроенной плате он рухнет.
если я устранить многозадачный я мог бы потерять данные, когда networkstream.read не в сети или когда networkstream.read онлайн и я жду данных, который заканчивается в программе не будет реагировать на до тех пор, тайм-аут. вот некоторые из моих кодов. Надеюсь, поможет.
этот код работы:
private void button_connect_Click(object sender, EventArgs e)
{
try
{
//Thread TH = new Thread(new ThreadStart(con));
//TH.Start();
con();
}
catch
{
MessageBox.Show("THREAD ERROR");
}
}
public void con()
{
try
{
cli = null;
cli = new TcpClient();
cli.Connect(IPAddress.Parse(textBox_ip.Text),Convert.ToInt32(textBox_port.Text));
st = null;
st = cli.GetStream();
button_connect.Enabled = false;
button_Close.Enabled = false;
button_disconnect.Enabled = true;
statusBar1.Text = "Connected to server";
//Thread rec = new Thread(new ThreadStart(recf));
//rec.Start();
}
catch
{
MessageBox.Show("Connection faild","Error");
statusBar1.Text = "Faild to connect to server";
}
этот код доза не работы:
private void button_connect_Click(object sender, EventArgs e)
{
try
{
Thread TH = new Thread(new ThreadStart(con));
TH.Start();
//con();
}
catch
{
MessageBox.Show("THREAD ERROR");
}
}
public void con()
{
try
{
cli = null;
cli = new TcpClient();
cli.Connect(IPAddress.Parse(textBox_ip.Text),Convert.ToInt32(textBox_port.Text));
st = null;
st = cli.GetStream();
button_connect.Enabled = false;
button_Close.Enabled = false;
button_disconnect.Enabled = true;
statusBar1.Text = "Connected to server";
//Thread rec = new Thread(new ThreadStart(recf));
//rec.Start();
}
catch
{
MessageBox.Show("Connection faild","Error");
statusBar1.Text = "Faild to connect to server";
}
}
, как вы можете видеть, я получаю эту аварию в то время как только одна из моих задач является в код вторая задача была прокомментирована
Я ценю вашу помощь заранее