マルチスレッドは初めてです
異なるスレッドで実行したい2つの機能があります(知っておく必要がある場合、それらは異なるポートへの2つのTCPソケット接続であり、1つはサーバーとして機能し、もう1つはクライアントとして機能します)
最初: メイン フォームのテキスト ボックスにアクセスするにはどうすればよいですか? 非静的メンバーにアクセスできず、非静的関数でスレッドを作成できません
2番目:実行中に関数にデータをプッシュするにはどうすればよいですか?
私はこれに間違った方法でアプローチしている可能性があります。とにかく、これは私のコード構造です (簡素化するために数行削除されています)
namespace WindowsFormsApplication4
{
public partial class Form1 : Form
{
Thread lis = new Thread(new ThreadStart(Listen));
Thread con = new Thread(new ThreadStart(Connect));
public Form1()
{
InitializeComponent();
lis.IsBackground = true;
con.IsBackground = true;
}
static void Connect()
{
//try to connect to 127.0.0.1:10500
while (true)
{
//listen and output to Form1.txtControlMessages
//input from Form1.txtCommandToSend and write to the stream
}
}
static void Listen()
{
try
{
//start listen server on port 10502
while (true)
{
//accept client and output to Form1.txtData
}
}
catch (SocketException e)
{
}
}
}