程序为什么不监听呢? 你为什么要用timer呢, tcpListener.AcceptSocket本来就是阻塞执行的,你还用timer,这有什么用吗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Time到时间执行的,所以执行ListenTimer_Tick函数完,就关闭监听了 Accept和Receive都是阻塞方法,干吗要放到Timer里面????定时重复执行,等于是多个线程一起控制tcpListener,那还不乱套了。 进程所执行的Listen的中的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);}去掉。 我现在还有一个疑问,在最开始的这个里面我想设置成每接受一条消息就显示另外一个Form所以程序就改成了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); FloatForm floatform = new FloatForm(); floatform.Show();}可是这里这个floatform显示出来就没有了响应是floatform没有响应,不是主程序没有响应这是为什么呢? floatform.Show();这个东东是堵塞的,如何一边显示窗口一边还要干其它的,这个窗口需要另外再启动一个线程来显示。 to Lastcsdner(外行)我把程序改成这样Thread floatThread = new Thread(new ThreadStart(ShowFloat));floatThread.Start();其中这个ShowFloat是这样的private void ShowFloat(){ FloatForm floatform = new FloatForm(); floatform.Show();}可是这样的话新窗口总是闪一下就消失了这个线程自动被释放掉了怎么办才能让它不消失或者过一段特定时间后再消失呢?多谢 用C#写最简单的同步TCP网络程序,有点问题…… 如何dataGridView链接其他Form上的DataSet? 关于 # C# Winform 的两个问题 TXT与CSV有什么区别么? listview and treeveiw ,help me!! 恳请帮忙 c#中属性的set访问器什么时候才会进入? 请指点,万分感谢! C#实际经纬度转换成屏幕坐标 Repter控件问题:Repter控件绑定的CheckBox控件,如何在用户点其中的一个Checkbox时就提交到服务器端进行判断? [急!100分]如何用C#写绘图代码,请高手帮帮忙啊
所以执行ListenTimer_Tick函数完,就关闭监听了
定时重复执行,等于是多个线程一起控制tcpListener,那还不乱套了。
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);
}去掉。
我想设置成每接受一条消息就显示另外一个Form
所以程序就改成了
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);
FloatForm floatform = new FloatForm();
floatform.Show();
}
可是这里这个floatform显示出来就没有了响应
是floatform没有响应,不是主程序没有响应
这是为什么呢?
这个东东是堵塞的,如何一边显示窗口一边还要干其它的,这个窗口需要另外再启动一个线程来显示。
我把程序改成这样
Thread floatThread = new Thread(new ThreadStart(ShowFloat));
floatThread.Start();
其中这个ShowFloat是这样的
private void ShowFloat()
{
FloatForm floatform = new FloatForm();
floatform.Show();
}
可是这样的话新窗口总是闪一下就消失了
这个线程自动被释放掉了
怎么办才能让它不消失或者过一段特定时间后再消失呢?
多谢