有一个很早的程序,用的是TWinSocketStream和Tclientsocket
代码是:WinSocketStream := TWinSocketStream.Create(MainForm.ClientSocket.Socket, 60000);现在想把Tclientsocket换成 indy tcp client socket ,但是上面的这句该怎么改呢?

解决方案 »

  1.   

    [Error] ClientThread.pas(59): Incompatible types: 'TCustomWinSocket' and 'TIdIOHandlerSocket'直接换成indytcpclientsocket后的编译错误
      

  2.   

    当然不行呀
    indy的创建连接过程根本就不是这样的
      

  3.   

    楼上兄弟,那要怎么使用indy创建TWinSocketStream呢
    TWinSocketStream这个没办法改动,我只想用indy替换tclientsocket和tserversocket就行
      

  4.   

    不用创建吧
     indy直接可以用sendstream发送和用readstream接收数据流的
    为什么非要用twinsocketstream呢
    indy是一套完全不同的组件
      

  5.   

    procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
    var s:string;Fullscreen:Tbitmap;
    FullscreenCanvas:TCanvas;
    dc:HDC;
    tt:TmemoryStream;
    MyJPEG,tempjpeg:tjpegimage;begin
    s:=athread.Connection.ReadLn();
    if s='getdesktop' then
    begin
         Fullscreen := TBitmap.Create;     
         Fullscreen.Width := screen.width;
         Fullscreen.Height := screen.Height;
         DC := GetDC (0); 
         FullscreenCanvas := TCanvas.Create; 
         FullscreenCanvas.Handle := DC;athread.Connection.WriteStream(tt);
    fullscreen.free;athread.Connection.Disconnect;
    end;end;
      

  6.   

    那上面的语句要怎么改写呢, 我没用过indy, 只不过查到说clientsocket不稳定
    而且这个程序也确实运行不稳定
      

  7.   

    >>只不过查到说clientsocket不稳定一句话就将别人写的几K的代码给否定了那别人用它写的代码,运行了N年了,是不是查到说不稳定也要换了。