冰
冰火
Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个问题请教线程高手,问题描述如下:
我编了一个网络通讯程序(Server)端,底层的通讯用的别人提供的DLL(必须如此),
建立了监听的Socket后,我在一个循环中监视有无Client端的Socket连入,接下来是关键。
别人提供的范例程序用aceept查到有Client接入后,用CreateThread开了个线程,把一个
函数做为参数传进CreateThread,然后这个线程就执行该函数的代码,这段代码的任务是
调用DLL里的函数,从Socket连接上取回数据,根据数据的内容再发个包回去。
我仿照范例来作(当然是用Delphi来写),用一个类封装了这个DLL的函数。问题是线程
这一段我不知道该怎么写了。我用Delphi封装时,向我的类的调用者采用虚的过程的形式
传递信息,即当我收到某个包后,我调用对应的一个虚的Procedure,而高层则在继承的类
里实现这个Procedure,然后进行处理。
好,具体的问题是:针对这种情况,我该如何使用线程?是调用CreateThread还是用TThread
类来实现?
如果用CreateThread,我该怎么把一个方法当成参数传给CreateThread?
如果用TThread类,我是不是要维护一个线程数组(我会同时收到多个Client的Socket连接)?
我又怎样在线程里调用我的类的虚Procedure呢?
不知道我说清楚没有,我会在线上守到6:00,请各位高手不吝指点,是公司的活,很急,
帮帮忙,我先谢了。
积分不够我再加。
我编了一个网络通讯程序(Server)端,底层的通讯用的别人提供的DLL(必须如此),
建立了监听的Socket后,我在一个循环中监视有无Client端的Socket连入,接下来是关键。
别人提供的范例程序用aceept查到有Client接入后,用CreateThread开了个线程,把一个
函数做为参数传进CreateThread,然后这个线程就执行该函数的代码,这段代码的任务是
调用DLL里的函数,从Socket连接上取回数据,根据数据的内容再发个包回去。
我仿照范例来作(当然是用Delphi来写),用一个类封装了这个DLL的函数。问题是线程
这一段我不知道该怎么写了。我用Delphi封装时,向我的类的调用者采用虚的过程的形式
传递信息,即当我收到某个包后,我调用对应的一个虚的Procedure,而高层则在继承的类
里实现这个Procedure,然后进行处理。
好,具体的问题是:针对这种情况,我该如何使用线程?是调用CreateThread还是用TThread
类来实现?
如果用CreateThread,我该怎么把一个方法当成参数传给CreateThread?
如果用TThread类,我是不是要维护一个线程数组(我会同时收到多个Client的Socket连接)?
我又怎样在线程里调用我的类的虚Procedure呢?
不知道我说清楚没有,我会在线上守到6:00,请各位高手不吝指点,是公司的活,很急,
帮帮忙,我先谢了。
积分不够我再加。