请问socket客户端端开后怎么样能重新接管服务器传来的信息!下面是服务器代码
procedure TClientThread.ClientExecute;
var
  ReceiveBuffer: array[0..4095] of Char;
  SocketStream: TWinSocketStream;
  BytesRead: Integer;
begin
  while not Terminated and ClientSocket.Connected do
  begin
    try
      SocketStream := TWinSocketStream.Create(ClientSocket, 60000);
      BytesRead := SocketStream.Read(ReceiveBuffer, SizeOf(ReceiveBuffer));
      form1.mmo1.Lines.Append(ReceiveBuffer);
      while true do
      begin
        Sleep(1000);
        if ClientSocket <> nil then
        begin
          ClientSocket.SendText('套接字句柄' + inttostr(ClientSocket.SocketHandle));
        end;
        end;
    except
    end;
  end;
end;

解决方案 »

  1.   

    连接上后创建一个session,通过session辨别。
      

  2.   

    我都研究完这个三层了,你还在研究呀
    http://topic.csdn.net/u/20111228/16/c561c4ed-5c56-43a6-a40f-a55577f4da17.html
      

  3.   

    1,服务器端 记录下客户端的唯一ID 
    2.服务器端传送给客户端的数据分成N块 ,假设已传了N-M块
    3.客户端已接收了N-M块,数据保存在全局数据流或文件中,记下已接收到N-M块的信息,这时客户端断开。
    4.从全局数据流或文件中,知道接收到N-M块信息,重新连接后可继续讲求剩下没接收完的信息。
    5。服务器端可依据客户端的唯一ID 知道数据是传给谁 传完后可删除服务器端的数据(要传送的数据) 看看你的具体需求  未必一定要记录客户端的唯一ID 但一定要把数据份成N份 并记下数据总大小 
      

  4.   

    连接上后判断Session是否存在,若存在则删除并创建一个session,不存在则只需建session服务器根据SESSION值来判断用户