CSocket 之殇
今日欲实现多任务并行(TCP)通信模块,需求功能简单,逻辑明了,性能无虞.
遂采用MFC CSocket现成工具,欲速成之。尚阳光明媚,心情舒畅,只待把弄码行于股掌之上。
俱似快哉。孰知哀哉在后,泪难成行。
一曰 请调皆全
二曰 架筑了然
三曰 发送之功能实现,压力测之OK,继之,接收之功能实现,压力测之亦OK.
四曰 收发皆用,压力测之,错矣!
不明?奈何?逻辑诡异也!
试数测之,皆毙。
求MSDN无解,Google求问?得曰
一则 CSocket之对象无跨任务之能用,此则与多任务并行只意悖也。 (叹:莫名)
二则 Microsoft知其弊,则补之有术,奈何且补还漏。 (嗔:弃之)
三则 吾自改之,封装重构,避跨任务之用,砌之完毕。 (吁:可否)
四则 再试之,新漏现也,无消息之通告,作何? (佯:啥子)
五则 再求问,CSoket须依UI任务,Work任务不可,引Wnd:MSG之用作消息通告。休也 (怒:诡者)
全然不知CScket做何之用?
通山之路,吾自开之,不敢求也,去罢去罢。
三思之,若是开源,怎奈如此?
不免感喟,MySQL, Java赖以甲骨之命运若何?