红俊's profile蝈蝈俊的共享空间PhotosBlogListsMore ![]() | Help |
|
April 24 【编程游戏】划拳机器人比赛CSDN 网友 zswang 组织了一个编程游戏比赛。划拳机器人比赛。类似“Robocode” 的游戏。 比赛相关帖子如下: 【编程游戏】编写一个会划拳的机器人参加擂台赛,规则内详。 【编程游戏】划拳机器人,前面一贴的机器人都集中来了,继续PK。谨慎路过。 很有意思的,为了让更多人能参与到这个很有趣的 .NET 编程比赛中来,我转了下面的内容:
划拳又叫豁拳、猜枚、猜拳、拇战,即饮酒时两人同时伸出手指并各说一个数,谁说的数目跟双方所伸手指的总数相符,谁就算赢,输的人喝酒。此乃我国
由于空间有限, 这里就不贴调试代码了, 调试代码,以及基类代码看上面给的两个帖子的链接。 April 18 如何用.net Remoting实现一个客户端需要连接多个服务器端?比如我们有下面的需求: 三台电脑:A,B,C。 要实现这个需求,核心就在客户端的调用上。下面我们用一个简单的演示这个功能的代码来说明如何实现。
首先:服务器段 服务器段逻辑,这是非常简单的,我们按照之前的.net编写规范,编写代码即可。熟悉.net Remoting 的完全可以跳过这部分。 下面是一段简单的服务器段逻辑代码 using System; 服务器段的配置 <?xml version="1.0" encoding="utf-8" ?> 服务器段调用代码 RemotingConfiguration.Configure(
客户端 客户端如果我们用以前常用的,把所有客户端的调用信息都写在一个配置文件中,期望简单的用下面代码就不可以了。 RemotingConfiguration.Configure(configFile, true); 如果我们用上面的方法时,则会收到下面的异常: 远程处理配置失败,异常为“System.Runtime.Remoting.RemotingException: 参考我在论坛咨询的帖子 远程处理配置失败,异常为“RemotingException: 试图重定向类型“MySC.MyComponent, MyServiceComponent”的激活,而该类型已被重定向http://topic.csdn.net/u/20080418/10/a9b02fa0-a230-4fb6-abeb-b7407a6729c1.html 使用.net Remoting 客户端调用服务器段时,需要考虑两个东西: 2、如何创建远程对象,也就是注册类型
先说信道的问题: 上面例子中, B 和 C 服务器,他们完全可能一个开放的是 TCP 信道,一个开放的是 HTTP 信道。 同时,访问他们服务时,身份验证完全可能是不同的。各自服务器自身的验证。 这就有一个需要解决的问题,如何实现客户端多信道。下面这篇博客对此有比较详细的介绍: http://www.cnblogs.com/kriss/archive/2005/11/30/288177.html
创建远程对象的问题: 如果我们把需要创建的信息写在配置文件中,用 RemotingConfiguration.Configure(configFile, true); 来创建远程对象,就会出现下面的错误。
远程处理配置失败,异常为“System.Runtime.Remoting.RemotingException:
解决方法,就是下面的演示代码,不写在配置文件中,改自己手工创建,如下面客户端演示代码。 编码创建对象可以使用 Activator.GetObject 或者 Activator.CreateInstance 。 下面就是我的演示代码 针对B服务器的配置文件(主要是通道的配置,注意这两个配置文件验证信息不一样) 注意,这个配置文件中我们可没有下面这样的信息: <client displayName="client01" >
<?xml version="1.0" encoding="utf-8" ?>
针对C服务器的配置文件(主要是通道的配置,注意这两个配置文件验证信息不一样) <?xml version="1.0" encoding="utf-8" ?>
客户端程序的调用代码 public partial class ClientForm : Form
参考资料
客户端提示 信道 http 已注册 如何取消RemotingConfiguration.RegisterActivatedClientType的注册类型
RemotingConfiguration.Configure (String, Boolean) 中隐藏的秘密 Remoting给远程对象属性赋值 April 10 今天碰到了一个我非常佩服的售票员我坐公交车的历史,已经有10多年了。今天早上坐852上班的路上,碰到了一个我非常佩服的售票员。佩服她的原因是因为这趟车上,我正好看到2件事情。而她对这两件事情的处理,让我非常有感触,非常有心得。
第一件事情是在望京时,有个乘客下车时,这个售票员走到一个乘客跟前,小声地跟他说了一些话。当时我还觉得很怪异。虽然我就离那个乘客不到2米的地方。但是我只能断断续续的听到几个词。并不明白在说啥。那个乘客下车后,另外一个售票员也觉得很怪异,问她时,她才说那个乘客拿的是学生卡。 那个乘客看起来,老大不小了。估计三、四十了。看起来一点也不可能是学生。按照北京市的规定,发现非学生使用学生卡,卡当时没收,同时罚款不知道多少。违法使用学生卡的事情,我在其他公交车上也看到,但是这个售票员能用这种方式来解决,我是第一次看到。以前最多看到的是:大声地指责,没收卡,或者根本就当这件事情没有发生。 从跟人沟通的角度来看这个问题:争吵,或者视若不见。都不能帮人解决问题。跟他心平气和的沟通。同时一定不要在公众场合批评他,不能让他觉得自己在被公审。这才是督促他解决问题得最好沟通方式。 反面的教材就多了,比如之前的最牛秘书的事情;公司最忌讳的一些事情,就是说某个事情时候,抄送邮件给很多人;公交车上很多时候乘客跟售票员的吵架,就是沟通方式不当导致,我们管理团队时,跟手下沟通方式不当,也会带来很多麻烦等等。 这是我佩服这个售票员的第一个理由。
第二件事情发生在西八间房(广顺南大街南口)这一站。有个乘客在下车刷卡时发现扣了自己8毛。按照正常,应该是扣6毛。这个乘客就为了这2毛钱。大发雷霆,说了很多难听的话。这个乘客是在后门下车的,当时后门的那个售票员已经有点发懵了。显然后门这个售票员经验不足。不知道如何处理这件事情。我佩服的这个售票员,飞快地从中门售票员位置上跑到后门,追上那个乘客,然后又很快的跑回自己位置。 当时我们都觉得很奇怪,这个售票员就这么飞快的过去一趟,就再没听见那个乘客之前的大声门骂骂咧咧了。超级神奇。 大家能猜到这个售票员追上那个乘客干了啥事情么? 当然这事情后门的售票员也很奇怪,也替我们问了。 这个我最佩服的售票员,追上这个乘客,给了他2毛硬币。 坐公交多扣2毛,我自己都碰到过十多次。原因很简单,司机如果在每站的时候,按站号不及时,乘客刷卡时,刷的就是上一站的站号。系统当然按照上一站来计算费用,这样在一些多一站就要多交钱的情况时,就可能会多扣2毛。 由于时刷卡系统扣掉了,想从刷卡系统讨回这两毛,非常困难,而售票员买票的所得又是以5毛为最小单位的。显然这个售票员自己备了一些零钱。而且这些钱很可能是需要从自己工资中扣除,但是上面的行动,让有意见的乘客顿时觉得自己为了这2毛而进行的行为非常不对。对缓和矛盾非常有帮助。 这种事情其他公交车上也看到过,由于上面的原因,大多售票员采用的是道歉的方式,并且说这是刷卡系统扣的,他们也无能为力。 这个售票员用这种超级神奇的方式缓和了矛盾,这是我佩服这个售票员的第二个理由。
从这两件事情,我看到了在跟有矛盾,或者需要批评的人沟通时,选择的方式非常非常重要。方式不对,只能矛盾越来越对立。对解决问题一点都没有帮助。要想做好一个管理者,如果不具备这个售票员所具有的素质,是很难带领手下同甘共苦的。
最后,这趟公交车的车号是 京AC5933。 非常感谢这个售票员给我上了这么一节生动的跟人沟通的课程。 April 09 Vista和Win2008中如何卸载IE8由于我之前装的英文版本的IE8,现在想换成中文版本的, 所以就需要写在原先的IE8 Beta1 英文版,但是按照正常的思路去找卸载的地方,竟然没有找到。考虑到很多人可能会有我类似的问题。特意写了这篇博客帮助大家。 卸载的位置: 控制面板 --> 程序和功能 --> 查看已安装的更新(注意,是在这里) MIcrosoft Windows 分类下面有一个 Windows Internet Explorer 8 ,卸载它即可。 另外,英文版本的IE8 ,版本号是:8.0.6001.17184。 中文版版本是:8.0.6001.17193 。比英文版稍稍新一点。 |
|
|