| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1101 人关注过本帖
标题:关于局域网广播的问题
只看楼主 加入收藏
april127
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-10-8
收藏
 问题点数:0 回复次数:9 
关于局域网广播的问题

UdpClient listener = new UdpClient(listenPort);
IPEndPoint groupEP = new IPEndPoint(IPAddress.Any, listenPort);
try
{
while (!done)//就是这个死循环,程序变得非常卡
{
byte[] bytes = listener.Receive(ref groupEP);
string strIP;
strIP = "信息来自" + groupEP.Address.ToString();
string strInfo = Encoding.GetEncoding("gb2312").GetString(bytes, 0, bytes.Length);
richTextBox2.AppendText(strInfo);
}
}

我用这段程序来接收局域网广播,可以成功,但是程序变得非常卡,怎么回事呢?
各位朋友有没有好的解决办法,或者说一下你们是怎么做的,谢谢了

搜索更多相关主题的帖子: 局域网 listener groupEP 广播 string 
2007-10-14 20:54
april127
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-10-8
收藏
得分:0 
还有一个问题,顺便问问

比如说有10个checkbox,名字分别是 chk1,chk2,chk3,....,chk10.
现在要做的事情是,当我用鼠标左键点击chk1,然后按“Shift”+ 鼠标左键 再选择 chk6,然后鼠标左键再点chk1-chk6之间的任意一个checkbox的时候,要求chk1---chk6都变成选中状态。

这个事件该如何做呢??
2007-10-14 21:02
swc
Rank: 3Rank: 3
等 级:论坛游民
威 望:6
帖 子:394
专家分:83
注 册:2006-4-7
收藏
得分:0 
另开个线程来做.

实践、学习、再实践、再学习......
2007-10-15 00:05
april127
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-10-8
收藏
得分:0 
以下是引用swc在2007-10-15 0:05:21的发言:
另开个线程来做.

很奇怪,另一个用来点对点发送接收消息的模块也是死循环,但是那个却没有出现程序卡的现象。怎么回事哦?

2007-10-15 00:58
swc
Rank: 3Rank: 3
等 级:论坛游民
威 望:6
帖 子:394
专家分:83
注 册:2006-4-7
收藏
得分:0 
byte[] bytes = listener.Receive(ref groupEP);
这句是等待接收的,程序处于等待状态

实践、学习、再实践、再学习......
2007-10-15 11:11
april127
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-10-8
收藏
得分:0 
以下是引用swc在2007-10-15 11:11:26的发言:
byte[] bytes = listener.Receive(ref groupEP);
这句是等待接收的,程序处于等待状态

既然是等待中,那程序为什么会变卡??

2007-10-15 16:44
swc
Rank: 3Rank: 3
等 级:论坛游民
威 望:6
帖 子:394
专家分:83
注 册:2006-4-7
收藏
得分:0 

就是把程序的资源都用在等待上了.接收到了才执行下一个语句、触发其他事件。
我个人的理解。


实践、学习、再实践、再学习......
2007-10-15 17:18
virusswb
Rank: 1
等 级:新手上路
威 望:1
帖 子:342
专家分:0
注 册:2005-8-6
收藏
得分:0 
是不是你的局域网广播量大啊,再说了,肯定要用另外一个线程处理,主线程监听,

jorden008@
2007-10-15 17:46
april127
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-10-8
收藏
得分:0 
以下是引用swc在2007-10-15 17:18:40的发言:

就是把程序的资源都用在等待上了.接收到了才执行下一个语句、触发其他事件。
我个人的理解。

另一个用来点对点发送接收消息的模块也是死循环,但是那个却没有出现程序卡的现象。怎么回事呢?

2007-10-15 23:35
april127
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-10-8
收藏
得分:0 
以下是引用virusswb在2007-10-15 17:46:33的发言:
是不是你的局域网广播量大啊,再说了,肯定要用另外一个线程处理,主线程监听,

不大,目前就4台机子。而且就我一个人在那个端口发数据

2007-10-15 23:59
快速回复:关于局域网广播的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014966 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved