昨天白天主要是解决了MSN的三个问题,MSN Java版本运行到后台之后,收不到消息、没有消息声音、会掉线等。这类问题,虽然可以在不同手机、不同Java虚拟机上对比,但是,最怕的就是不好判断是哪方面的问题,JAVA应用提供商、Java虚拟机方、平台三家相互不承认是自己的问题。我认为首先不是Java应用的问题,因为我在同一份代码仅替换了其他虚拟机是OK的,我认为是Java虚拟机的问题。他们进度很慢,所以我决定亲自出马,看看这到底是什么问题,总不能拖几个月吧。
据了解,这家MSN为了省电,MSN创建的Socket用完之后很快就关闭了,每隔一段时间(比如10s)才重新连一下服务器。 打了一下log,发现是在Java应用最小化之后,创建Socket都失败了。所以肯定收不到消息,收不到消息肯定就没有声音,长时间没有连接到服务器就肯定会掉线。为什么QQ不会掉线呢?因为QQ创建的Socket可能就一直没有关闭过。为什么其他家虚拟机无此问题呢?不知道,可能是这家做得太烂。还好,这家Java虚拟机有之前项目的经验,找到一个jal层代码,改动了一下,就OK了。
今天还催促了上海一家Java应用提供商赶紧解决问题,他们家态度很好,不仅每收到我的来信就立即回复,而且我又催了一下之后,他们还主动打电话过来解释,不错。
晚上,我没啥事情了。帮同事看问题。同事和SPM吵架了,可能还发生了一些误会。他赌气走了,周六也不去加班了。我帮他看看问题,花了半小时,发现他的代码也没错,MTK的代码也没错,是两个需求冲突了,我发信通知客户我们将去掉这个冲突的功能。我接着帮他看其他bug,时间比较紧迫,我加班到十点。21:36,收到领导邮件,让我整合两个版本,说最好周六能弄完。Sorry,一封周五晚上21:36的邮件,让我周六去加班。我平时已经每晚加班到九点十点了,还想怎么样啊?就工作内容和效率而言,我认为我周一到周五包括加班干的活都抵得上90%以上的人上班六七天的活了。朋友说当官就当官,别拉底下的人去当炮灰啊。
今天周六,帮同事处理了外文字符串翻译导入到ref_list.txt里。下午正在犹豫是否去加班,加班是给他面子,路费还要十块钱呢。
...