江苏iFree电信卡升级4G

电信去年推出iFree卡,还是挺良心的,挺适合我这种一个月话费只有套餐费的人。 iFree最大特点在于每月无固定消费,还送30M流量,每月还可以开一次9.9包500M,全国漫游,对于我们流量党基本够用了,而且不太贵,准确来说是太便宜。另外还有免费打电话功能,同地区(市级)iFree互打完全免费,不限时,嗯,这不就是个免费长距离对讲机么! 当然前提是你得有一部电信手机。   之前iFree一直只支持使用3G网络,在运行商狂推4G的时代把iFree限制在3G网络显然不是什么明智的选择。 于是乎,在今年三四月的时候,来了个4G叠加包。先到网厅活动页面申请换卡,会寄来一张空卡,自助换卡后,可以选择开通4G叠加包。 但是4G叠加包要每月10元,虽然送100M流量,然而并没有什么用。有月最低消费就不free了。   本着试试看的态度,我换了张4G卡,但是我当然不会开10元的叠加包,我是期望它换了4G卡直接就能用4G网络,像我的移动号一样,换过卡4G就ok~! 不过,果然电信没有这么蠢,换卡是无用的。不过我果断还是不会开叠加包的,我强烈预感将来肯定要免费升4G,毕竟电信如果用1张 […]

C#多线程避免用户界面死锁

在编写winform应用程序时,当主线程中要处理耗时任务时,往往会导致用户界面(以下称为UI)的假死,即UI不响应用户的鼠标,键盘等操作. 耗时任务有很多种,比如: 向远程服务器发送和请求数据(http,smtp等); 大量的运算(信号处理,大量数据处理等); 其他(暂时只遇过以上两种情况) 以前最常使用编程环境是LabVIEW,在LabVIEW中只要架构合理就可以避免UI假死情况的发生,我常用的架构是生产者-消费者循环(具体内容可参考NI Community).在这种架构中,事件的接收和处理是放在两个不同的线程中进行的,线程之间使用线程安全的队列进行通信,所以耗时任务的处理并不会影响UI的响应,只是任务处理结果的输出会有延时. 在C#中,也可以使用这种思想来避免UI假死,不过实现起来相对LabVIEW要复杂不少, 首先是要用户自己管理线程, 第二是在C#新版本中,界面控件只可以由创建它的线程对其进行修改,也就是说在主线程中创建的控件,只能由主线程进行修改,如果在其他线程中使用诸如 textBox.Text = "xxx";这样的语句是没有效果,并且会导致异常.这种问题需要使用dele […]

SEU-Wlan自动登陆Win客户端

Preface: 前文(在这里)写到由于经常需要连接和断开校园网统一认证,需要一个方便快捷的手段。 于是现学了点C#和HTTP的知识,撸了这么个客户端。   Link: 源代码(GitHub):https://github.com/elitezhe/SEUWlanAutoLog exe版本(含dll):https://github.com/elitezhe/SEUWlanAutoLog/tree/master/Release .NET 4.0 框架安装包:https://raw.githubusercontent.com/elitezhe/SEUWlanAutoLog/master/Release/prerequisite/dotNetFx40_Full_x86_x64.exe   Function: - 快捷登陆和断开东南大学SEU-Wlan校园网统一认证(w.seu.edu.cn) - 本地保存账号和密码(明码保存,未加密) - 打开该应用,自动登陆   Log: *Version:1.0 +功能 - 通过HTTP POST方法实现校园网的登陆认证和登 […]