用到UdpClient的一点经验

http://computer-programming-forum.com/4-csharp/184f9d4ee63704fc.htm

This is not a bug (just very poorly documented :)

Thread.Abort throws an exception only when the thread is in managed code. 
Since calling UdpClient.Receive call a blocking function of the WinSock API 
it will not receive the abort exception. Only after UdpClient.Receive 
finishes (hence you are back in managed code) the Thread.Abort method 
re-throws the exception. Lookup in the help files at Thread.Abort().

How to solve this problem? 
Use a Socket class (instead of UdpClient) and use the asynchronously methods 
BeginReceiveFrom and EndReceiveFrom (of course also for XXXSendTo). These 
methods are a litter harder to use but your thread now remains in managed 
code while waiting for the receive operation (still unmanaged code) to 
complete.

-- 
Sander Leer

Quote:

> If a thread is waiting on a call to UdpClient.Receive, there is no way to 
> return from this call unless the UdpClient is closed or data is received. 
> Calling Thread.Abort on the blocked thread has no effect.

> The attached code illustrates the problem.

> Is this a bug?

> DAve

时间: 2024-10-22 21:00:24

用到UdpClient的一点经验的相关文章

使用VS2010开发Qt程序的一点经验(转载)

转载:http://www.cnblogs.com/csuftzzk/p/VS_Qt_Experience.html 导读 相比于Qt Creator,我更喜欢用VS2010来进行开发.虽然启动时间相对较慢,但是VS下强大的快捷键和丰富的插件,以及使用多年的经验,都让我觉得在开发过程中得心应手.其中最重要的一点是,有时候Qt Creator报的错误莫名其妙.要根据提示找到错误根源显得无从下手.而VS的一般错误说明都比较人性化,即便在某些时候无从解决,也可以通过搜索引擎大致定位出错误的源头.下面是

计算机顶级会议Rankings && 英文投稿的一点经验

英文投稿的一点经验[转载] From: http://chl033.woku.com/article/2893317.html 1. 首先一定要注意杂志的发表范围, 超出范围的千万别投,要不就是浪费时间;另外,每个杂志都有他们的具体格式要求,一定要按照他们的要求把论文写好,免得浪费时间,前些时候,我的一个同事向一个著名的英文杂志投稿,由于格式问题,人家过两个星期就退回来了,而且说了很多难听的话,说投稿前首先就应该看清楚他们的格式要求: 2. 论文写作一定要言简意赅,特别是摘要,引言和结论部分,特

keil程序在外部RAM中调试的问题总结(个人的一点经验总结)

keil程序在内部RAM调试的基本步骤网上已经有很多了,我就不再赘述,大家可以在网上搜到很多. 但是有些时候内部RAM并不够用,这就需要将程序装入外部RAM中调试,而在这个过程中可能会出现各种各样的问题,在这里我将会把我遇到过的一些问题和需要注意的地方总结一下,希望能够对大家有所帮助. 有错误的地方也希望大神们能够不吝赐教,提前表示感谢··· 转载请注明出处:waitig's blog 先介绍下我项目使用的硬件,芯片是LPC1788,外部RAM是MT48LC4M32B2,大小为16M(128Mb

关于删除 hao123 主页设置的一点经验

:first-child { margin-top: 0px; } blockquote>:last-child { margin-bottom: 0px; } --> 说一说关于删除 hao123 主页设置的一点经验,或者说是有效的实践. IE的主页被设置成 “hao123” 了.不知道什么时候被设的,也不知道怎么设的. 试了各种方法,都无效. 方法如下: 手动更改IE的主页设置 调整本地策略,禁止修改IE主页 卸载 QVod 播放器(网上说的,主页被设置成 hao123 ,是QVod 搞的

特征处理:一点经验

一.特征向量的归一化 首先需要明确,特征向量的归一化与特征向量的尺度归一化有本质的区别.特征向量的归一化是entrywise,也就是针对的每一个向量元素:特征向量的尺度归一化则是将向量变换到“长度”为1的空间上. 1.线性函数转换,表达式如下: y=(x-MinValue)/(MaxValue-MinValue) 2.对数函数转换,表达式如下: y=log10 (x) 3.反余切函数转换 ,表达式如下: y=arctan(x)*2/PI 4.减去均值,乘以方差: y=(x-means)/ var

英文投稿的一点经验【转载】

英文投稿的一点经验[转载] 1. 首先一定要注意杂志的发表范围, 超出范围的千万别投,要不就是浪费时间;另外,每个杂志都有他们的具体格式要求,一定要按照他们的要求把论文写好,免得浪费时间,前些时候,我的一个同事向一个著名的英文杂志投稿,由于格式问题,人家过两个星期就退回来了,而且说了很多难听的话,说投稿前首先就应该看清楚他们的格式要求:2. 论文写作一定要言简意赅,特别是摘要,引言和结论部分,特别是摘要和结论不能重复,发现有很多论文这两部分没有差别, 个人认为, 摘要是引人入胜的"药引子&quo

数据处理程序的一点经验

背景:前几天,同事告诉我DSR(内部一个数据处理应用)又挂了,这次的数据丢失特别严重,有25天的数据受到影响.这已经是上线来的第三次出问题了,如果再不认真处理,下次肯定还会有这种问题. 结合同事经常抱怨的事情和我自己的经验,数据处理程序里常见的坑点有:     1.程序升级.迁移等运维需求导致配置错误     2.程序自身的bug     3.外部依赖项的变更     4.部分内容缺少相应的测试环境,测试困难 对于第一点,比较好的方案是使用两套配置文件:开发和线上,基于maven的profile

关于访问MSMQ远端私有队列的一点经验

这里应该将私有队列称做"专用队列"好像更贴切一些了,O(∩_∩)O 可以访问远程主机的MSMQ的私有队列的,这个是毋庸置疑的,但需要说明的是不能通过代码创建私有队列,关于这一点,我也不知道为什么? 下面说说我的经验 1.首先要保证远端的主机和本地机器同时加入到了同一个域中 2.要通过管理工具在远端主机中创建私有的队列,例如 192.168.117.47\Private$\MyPath,可以在创建时指定是否启用事务 3.在本地无法得到远端是否存在指定的私有队列,也无法得到指定的私有队列是

入了门的小生给菜鸟一点经验

不知不觉 过了6个月了,今天正好把做好的APP送去百度云测试,如果通过就可以上市场了,其实你看我博客就知道我是什么时候开始学安卓的. ①开始学安卓的人,你要想你为什么要学? 我先告诉你一个现实 你知道一线城市的其他行业经理一个月多少钱么? 你知道别人努力在外面累死累活的 一个月多少钱么? 你知道过年回去别人问你多少工资的时候,你会怎么说? 第一个 答案 8K 第二个 答案 5-6K 第三个 你可以很骄傲的说8K+ ② 安卓是什么? 第一个:安卓是一个们无限接近科学的技术,这是一个门槛,注定有人学