TWinSocketStream的具体用法?(100分)

  • 主题发起人 主题发起人 hxy2002
  • 开始时间 开始时间
H

hxy2002

Unregistered / Unconfirmed
GUEST, unregistred user!
TWinSocketStream的具体用法?
 
Stream : TWinSocketStream;
buffer1: array[0 .. 1023] of Char;

Stream := TWinSocketStream.Create(ClientSocket, 30000);
FillChar(Buffer1, 1024, 0);
if Stream.WaitForData(20000) then //等待数据到来
begin
if Stream.Read(Buffer1, 1024) = 0 then //读数据
ClientSocket.Close
else
begin
//处理受到的数据
Stream.Free;
ClientSocket.Close;
end;
end
else
ClientSocket.Close;
end;
except
//HandleException;
end;
 
能不能在Onread事件中加入啊?
 
在ServerSocketGetThread事件里加入
if clientsocket.Connected then
socketthread:=TServerThread.Create(false,clientsocket);
 
你单独写个线程
 

**TWinSocketStream 并不局限于服务端。
TWinSocketStream 只有在 阻塞模式下才可以使用(一问一答模式)。
也就是说如果是服务端设置为stThreadBlocking
客户端设置为ctBlocking.时使用TWinSocketStream.
 
当有数据来的时候,怎么样才能触发呢?
能不能在ONREAD和ONWRITE事件中响应呢?
 
TWinSocketStream是阻塞式Socket接收数据流的一个方法,像读写文件一样,只不过多了一个
等待数据的方法。
在阻塞方式下,不会触发OnRead/OnWrite事件,所以一般是写个线程来实现,看一下Help
 
TO hxy2002,
[blue]我上面说了,讲的很清楚啊,[/blue]在ServerSocketGetThread事件里触发!!!
不能在onread事件里触发!!!
 
多人接受答案了。
 
后退
顶部