All Stories

socket还是有问题

  自从写完那段代码,一直以来都有问题,服务器端读内容时,总是返回一个错误码,结果什么都读不到。都不知道是服务器端写得有问题,还是客户端的代码有问题,仔细看了看asio带的那些个例子的代码,尤其是里面的http服务端和客户端以及chat的服务端和客户端,下午在那里找原因,一会儿以为是服务端的问题,一会儿又以为是客户端的问题,结果到最后还是没找到具体原因,郁闷。  看来一个好用的调试工具是不可少了。但是用Wireshark抓包的结果看,客户端是确实把内容发送过来了,只是看netstat看连接状态立马变成CLOSE_WAIT,然后连接消失,现在我又怀疑是客户端的问题。

我还真是弱

  周末整了好久,想在程序里嵌入Ruby解释器,可是发现在MFC程序里,只要include了ruby.h,编译就会不过,说什么fd_set啥子啥子的,很是郁闷,今天在公司,同事说只要include一下WinSock2.h就行了,晕,我当时怎么没试试。  SWIG果然能一下生成一大片的代码,而且可以通过宏来比较灵活地进行配置。只是最后效果怎么样,还没有试。总的说来,自从改用VC以来,得到不少好处,主要是很多开源的东西都会主力支持VC这编译器,相对来讲对Borland的支持就要弱一些了。

我还真是无聊

  跑去华强北买了个TP-Link的无线路由器,只是觉得好玩,其实完全是多余和浪费。最多只是少了一根线插到电脑上而已。  以前在学校的时候,还以为路由器是好大一个机器,后来见到过一个同学拿来一个小盒子,才觉得好笑。不过再想想,更早些的时候不也认为交换机是好大一个设备嘛,后来去电脑城跟同学装电脑时,看到8口的交换机也才200多块钱,而且那都是快5年前的事了。昨天去帮公司一同事MM搬家,偶然间谈起说她有个无线路由器,当时觉得她好高档哦,呵呵。  买回来后,飞快看了一遍它那薄薄4页的说明,很简单,然后就把原本插在电脑上的网线插到路由器上,打开无线网卡的网络连接属性,搜索一下,再通过Web登录上去设置一下。因为本来就是一个交换网络里了,再设置时,选静态地址分配,并把默认的路由器IP改掉,不跟交换网络的同一网段就行了。因为要用eMule,所以还要设一个转发选项。另外就是,一切正常了,可以加个密码,免得让其它人家的人偷偷使用我们的带宽,呼呼。

研究了一番WinPCap的安装

  没有解决,还是老样子,只知道它是要把那几个dll复制到系统目录下,把npf.sys文件复制到drivers目录下,然后安装系统服务。至于到底最后做了哪些处理,也不得而知,反正我是把网上找得到的说法都试过了,都没用。当然很多是针对3.x版本的处理,我用的是4.0版,也尝试过反编译它的安装文件,反汇编它里面一个dll文件里的导出的函数,但最后还是没有什么进展。暂时放弃了,郁闷。

一体化流程平台W.I.P.

  今天把Icon Overlay改了改,很奇怪的是,代码跟昨天的一样,今天把图标放到DLL的资源中,就可以显示了,晕。  上午改了Icon Overlay后,下午就集中精力搞P2P通信,还真是比较费时间哦,以前写的操作数据库的代码就有不少问题,另外就是,std::map在不同的线程中操作好像就算没有同步的问题也会直接崩溃,郁闷,于是换成std::vector,当然调试的时候也陷入到了一个陷阱中,明明是要主动发送个消息给对方,再等待对方的回应,可是调试的时候有一段时间不知道为什么对方会不停地发送回应回来,所以我都没给对方发消息,结果这边的状态就没准备好,晕。  因为要调试Socket,所以不得不用于抓包程序,装了个Ethereal 0.99版,里面带的是WinPCap 3.1版,装了后找不到网卡,于是没办法,换用Wireshark,里面用的是4.0版的WinPCap,很好,很强大,还支持表达式的filter。

一体化流程平台W.I.P.

  把Icon Overlay的扩展做好了,这样Shell扩展组件基本上能满足需求了,虽然离我自己的要求还有点距离。奇怪的是,MSDN说,图标可以放在标准的EXE、DLL里,也可以是一个ICO文件,可是实际上我只能放在ICO文件里才会真正起作用,看看TortoiseCVS和TortoiseSVN也都是放在ICO里的,不过看Windows自己的就应该是放在DLL里的,看看共享文件夹的样子,再看看Shell32.dll里的图标资源,大概就是某些属性之类的还有点问题吧。  现在还剩下P2P通信、文件系统监视、流程图显示,这三块了。争取一周搞定一块,这样12月份就能完成了。

装了VSTS2008爽了把

  这东东早就从eMule上down下来了,只不过当时看到它的建议配置是1GB内存,我估量了一下自己本本上可怜的512MB的内存,最后放弃了,只是跑去把公司里那个台式机装上了,虽然那个台式机也是512MB的,不过我总觉得自己把那台式机调校地比较好,呵呵。  今天不知是无聊至极了,还是禁不住诱惑了,还是决定要装上试试。因为本本的系统盘有70GB大,即使已经装了一堆的东西上去,还是空了50GB左右,所以不用像在公司里那么麻烦,一路next下去即可。想想那天公司里装的时候,先是报空间不够,删了一票东西后再装,好不容易装上了,系统盘就只剩下13MB空间,又删掉一票东西,最后好不容易弄出200MB左右剩余空间,还不时地会被notes、IE等东东写点临时文件进去,Windows就会弹出个气球来提示一下。  装上后,先想编译一下Xtreme Toolkit Pro来试试,静态库还好说,基本上顺序地编译链接过去了。到了动态库的时候,报rc.exe执行出错。后来搜了一下,发现根本没有这个程序,把.NET 2.0 SDK里的拷过来试试,发现可以用,接着是缺mt.exe,再拷过来,顺序pass,呵呵。  不过这个比起VS 2003来,还是嫌它占用资源多了点,平时还是不用了。VS 2003英文版好不容易从eMule上找来的呢。

光阳烤肉韩国料理

  早就听小妞说起过,市民中心那边的韩国料理不错,想去试试。今天就稀里糊涂刚好说要去那里吃韩国菜。不过我不认识路,疯丫头也不认识路,只凭着小妞说的几句话,就兴冲冲地找公车坐去了市民中心。市民中心是个很空旷的地方,下了车,找不到什么有可以吃的痕迹。于是打电话问俊英,结果说不是市民中心,而是会展中心旁边。问了几个在市民中心的保安,好不容易穿过几条地道和马路,最后终于找到了俊英说的大中华喜来登。在喜来登的一边,果然看到了小妞所说的家乐福。但是在家乐福外面是看不到那家店的,在外面能看到有必胜客、星巴克、巴西烤肉等等,还有个意粉店,在小妞的电话远程指挥下,终于在意粉店旁找到了那家光阳烤肉韩国料理。  走了不少的路哦,再一次深切地体会到自己有车的重要性。  不过,那里的东西味道还真是不错。点了个蘑菇烤牛肉、八爪鱼拌饭和三色五花肉,还送了些小菜,两个人吃还真是有点撑。最后218元,跟小妞说的差不多,嗯!有钱真是好哇,只可惜照我现在的收入水平,这样的地方只能偶尔来来了。

还是比自己预计的慢点

  本来以为今天可以把所有的功能都串起来了,之前是一个一个零件,今天就到了把零件组装成完整产品的时候了,结果还是比自己预计的慢了点,最重要的点对点的文档下载部分没有调试。  我最担心的就是服务器的负荷能力,以及客户端间点对点通信的可靠性上。  唉,下周一上午好好把点对点间的调试一下,就可以完整地开始让人试用了。虽然还很不完整,但至少是可用了,花点时间可以稍微修改一下,把shell扩展部分做好了,就看起来易用性要好不少,至少是能在资源管理器中直接看到某个文件是否跟某个流程中的某个活动关联。  突然想起来,老大要求的图标也要有个overlay的扩展,这个一直没顾上做,晕!!  有一点很让我觉得自豪的是,在CruiseControl中配置好了,人家可以直接在上面点个按钮等个多少分钟,最后生成一个客户端的安装包,这太安逸了。  我要快点在家里把那个SocketHelper弄出来,至少功能部分要弄出来。昨天经过仔细排查,最后还是看了看附带的一个例子,一下就解决了,在MDI界面拆分窗口的Tab页中,如果是焦点落在CView,就会没有标题,花了两个晚上的时间去找办法,最后发现只是2行代码就能解决,晕死!