程序为什么不监听呢?
程序思想如下:
------------------------------
原来的程序
------------------------------
Form Load时创建一个新的进程并且开始执行
listenerRun = true;
thread = new Thread(new ThreadStart(Listen));
thread.Start();
这个进程所执行的Listen的内容如下:
tcpl = new TcpListener(tcpPort);
tcpl.Start();
while(listenerRun)
{
Socket s = tcpl.AcceptSocket();
Byte[] strem = new byte[80];
int i = s.Receive(strem);
string message = System.Text.Encoding.UTF8.GetString(strem);
TBContent.AppendText(message);
}
监听从端口tcpPort接收到的信息,可以成功
然后我修改了一下程序,想用一个Timer控件的方式来执行这个监听
------------------------------
修改过的程序
------------------------------
Form Load时仍然创建这个新的进程并且开始执行
thread = new Thread(new ThreadStart(Listen));
thread.Start();
只不过现在的Listen改为触发Timer控件为True
tcpl = new TcpListener(tcpPort);
tcpl.Start();
ListenTimer.Start();
private void ListenTimer_Tick(object sender, System.EventArgs e)
{
Socket s = tcpl.AcceptSocket();
Byte[] strem = new byte[80];
int i = s.Receive(strem);
string message = System.Text.Encoding.UTF8.GetString(strem);
TBContent.AppendText(message);
}
但是这个时候好像根本就没有在监听端口啊,发过来的消息都接收不到
ListenTimer.Start();和ListenTimer.Enabled = true;都不可以执行
请问怎么办?