问个网络编程的问题!(10分)

M

mill666

Unregistered / Unconfirmed
GUEST, unregistred user!
想写一个socket 的服务端程序,要求有个窗口界面(而不是dos的哟),界面上有个按钮可以开启服务或者关闭服务,最重要的是要有一个GRID控件,可以显示出每个客户端请求送上来的相关信息,这样是不是很酷;当然这个服务端应当能同时处理多个客户端连接。
所以俺就想到用线程技术(Thread 了),一个客户端请求开启一个线程。
关键的问题是:要是同时有多个客户端连接,那么对这个GRID控件就有多个线程同时对其操作了,那么这些线程需要进行同步处理吗?
我看delphi有关书,说线程对VCL进行处理的时候需要同步,不知道说的是不是这个意思。
请大侠们指教。谢了先!!!!
 
你在线程程序里调用VCL对象时,必须首先写一个过程,然后使用线程的Synchronize方法去调用,因为VCL是不支持多线程的,但线程类提供了一个这样的方法
 
用线程是非常方便,但是直接调用操作主窗体控件的Synchronize(函数)到是没有必要,你还不如将结果加到一个结构队列中,在主窗体中发现队列元素数>0则可以处理到网格内,多方便
 
支持chinaxuguojun的说法
 
ServerSocket没必要用多线程!非阻塞方式,支持多客户端连接的,在clientread里写好处理代码,组件会自动区分客户端的!你可以试试!
你的程序应该很简单!
 
顶部