一问一答的模式TCPIP,望像张无忌这样的高手指点指点 ( 积分: 200 )

  • 主题发起人 主题发起人 fzbxh
  • 开始时间 开始时间
F

fzbxh

Unregistered / Unconfirmed
GUEST, unregistred user!
服务器端用TServerSocket控件,用线程方式
客户端发一条指令到服务器,服务器将数据表打开,一条一条传给客户端,客户端是收到
一条,发回一个确认指令,服务器再发下一条
客户端采用阻塞式连接
在一个客户端的情况下,程序运行还好,但多个客户一起发这个指令,客户端往往收不到
服务器端发来的信息,导致超时。我作了测试,好像和ADO取记录,还有延时有点关系。不
知理解是否正常,请大虾们帮忙帮忙,可以的话发个例子对比一起。
ragdoll@yeah.net
先谢了!!!
 
等待老张出现ing....
 
多个客户端,你怎么确定哪一个客户读到哪一条呢?
客户端怎么返回自己收到的是哪一条呢?学习ing
 
小白出手就行了~!
 
服务器端采用线程的
像这样的
while (not Terminated) and (ClientSocket.Connected) do
begin
Stream := TWinSocketStream.Create(ClientSocket, 30000);
try
FillChar(Buffer1, 1024, 0);
if Stream.WaitForData(20000) then
begin
if Stream.Read(Buffer1, 1024) = 0 then
begin
ClientSocket.Close;
end else
begin
//有数据读出时
 
TServerSocket+ADO最好用線程池模式,效能會高很多。
 
老张已经不干这活儿了,叫年轻人们干吧
 
后退
顶部