我是多线程的新手
我有两个函数我想在不同的线程上运行(如果你必须知道,它们是到不同端口的两个 tcp 套接字连接,一个充当服务器,另一个充当客户端)
第一:如何访问主窗体上的文本框?它不允许我访问非静态成员,并且我无法在非静态函数上创建线程
第二:如何在函数运行时将数据推送到函数?
我可能以错误的方式接近这个,无论如何这是我的代码结构(删除几行以简化)
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)
{
}
}
}