坏的刚刚好 发表于 2009-9-24 15:44:56

【求助】老马帮看看这个控件封装问题

<p>数据能回传</p>
<p>但是我想显示出来,该怎么写啊</p>
<p>&nbsp;</p><br/>

马大哈 发表于 2009-9-25 01:02:18

<p>netClient代码里:</p>
<p>&nbsp;</p>
<p>CopyMemory的声明后面加个事件:</p>
<p>&nbsp;</p>
<p><font face="Verdana">Public Event RsCome(ByRef objRS As Recordset)<br/></font></p>
<p><font face="Verdana">再在<font face="Verdana">tcpClient_DataArrival</font>()事件里面的<font face="Verdana">Debug.Print "收到服务器数据鸟"</font>前加上:</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana"><font face="Verdana">RaiseEvent RsCome(Rs)</font></font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">这样的话收到服务器端数据后,就会产生一个事件,在事件的参数里的那个RS对象里的东西就是你要的.</p></font>

坏的刚刚好 发表于 2009-9-25 12:00:26

<p>老马太谢谢你了</p>
<p>来亲一个</p>
<p>呵呵</p>
<p>问题解决了</p>
<p>新的问题又来了</p>
<p>我发现在数据量很大的时候(5万以上)</p>
<p>多用户同时查询会数据粘连</p>
<p>忒痛苦啊</p>
[此贴子已经被作者于2009-9-25 12:00:39编辑过]

马大哈 发表于 2009-9-25 12:40:19

<p>现在的代码结构肯定会粘连的啊,因为没有做协议进行处理</p>
<p>&nbsp;</p>
<p>需要有个协议,或者至少要有个分割机制,确保两次查询的数据即使粘连了,也能在客户端正确区分开来并分别产生事件进行通知.</p>
<p>&nbsp;</p>
<p>如果是字符串,一般加上个绝对不会出现的字符就行,比如|.</p>
<p>&nbsp;</p>
<p>不过这是字节流,你得加点其它啥分隔标记......</p>

坏的刚刚好 发表于 2009-9-26 16:13:15

<p>马哥</p>
<p>情况是这样的</p>
<p>A B C D4个客户端依次(间隔约1.5秒)向服务端发送命令</p>
<p>本来63000多条数据10秒左右就返回客户端了,但是现在是D最先收到,其他B,C先后都收到数据,A到最后都收不到数据,我都不知道怎么改了。</p>
<p>我在BaiDu里Google了好久,又到Google里BaiDu,哎都没找到答案</p>
<p>所以就又到你这里来了(另外透露,我是菜鸟)</p>
<p>&nbsp;</p>
<p>我想做个类似<font face="Verdana"><a href="http://www.vbgood.com/viewthread.php?tid=79173">http://www.vbgood.com/viewthread.php?tid=79173</a>上说的那个netdata_server.ocx控件,那个有后门</font></p>
[此贴子已经被作者于2009-9-26 16:23:59编辑过]

坏的刚刚好 发表于 2009-9-27 14:21:18

马哥救火!!!!!!!!!

坏的刚刚好 发表于 2009-9-29 17:59:22

<p>马哥 这几天我对我的代码反复调试,我发现不会出现粘包,4个客户端对应数据库4个表(每个表有36000以上的数据)</p>
<p>有3个客户端完整且正确收到数据,就一个收不到。不知道是什么原因?????这两天研究了你的那个多线程下载的例子,收获很多.突然让我想到会不会是线程不够,请马哥指点迷津........................</p>
<p>另外按你那个例子的方法能封到OCX里吗</p>

马大哈 发表于 2009-10-12 20:56:22

你这个……咋说呢,多线程应该不是解决的根本之道,而是服务器端没有考虑好。
WINSOCK控件本身好象是内部多线程的,但是在事件到来让你的代码处理时,还是顺序执行的,因此如果有挂起,则有可能会影响别的过程。
我觉得你先将问题的方向搞清楚再说后话比较好。
页: [1]
查看完整版本: 【求助】老马帮看看这个控件封装问题