06 2012 档案

摘要:因为这个问题,我很想抽微软。网上其他人有类似的问题,我也碰到了,没有很好的解决方案。这个问题是Winsock所特有的(最起码所有的问题都是在Windows平台下)。一般在使用UDP Socket时,我们发出去数据,是不管它到不到达的,而且UDP并不是面向连接的,所以在收到这个错误时,会感觉很奇怪:“连接被重置10054”。这个错误一般是使用UDP Socket接受时收到(这里我不讲具体的语言了,不管你用C#、Python还是C,在Windows下都会有类似的问题,只要你调用类似ReceiveFrom函数)。这是上一次Send操作向一个地址发送,但是那个地址没有Socket监听(例如对等体崩溃) 阅读全文
posted @ 2012-06-24 18:15 Leading 阅读(9273) 评论(2) 推荐(1) 编辑
摘要:好久没写博客了。最近在重构代码,碰到了很多了有意义的问题,在此和大家分享。大家知道,在使用异步IO或者大量多线程代码时,总会碰到同步问题,例如在其他线程调用Winform的Control相关代码,就会导致异常。最近发现NAudio的WaveIn和WaveOut居然也需要使用UI线程的消息结构才能正常工作,他们会在后台创建不可见窗口。如果你在Socket的异步IO回调中直接调用Wave系列的方法,则会异常或者没有任何反应。(BeginXXX系列等异步方法的回调是在线程池中某个线程中调用的)一般Windows程序的UI线程只有一个,UI相关的更新都应该发生在UI线程上,才能保证安全。因此实际工作中 阅读全文
posted @ 2012-06-22 19:35 Leading 阅读(3149) 评论(5) 推荐(0) 编辑

点击右上角即可分享
微信分享提示