TWinSocketStream如何用indy创建?

msm 2007-06-25 10:42:48
有一个很早的程序,用的是TWinSocketStream和Tclientsocket
代码是:

WinSocketStream := TWinSocketStream.Create(MainForm.ClientSocket.Socket, 60000);

现在想把Tclientsocket换成 indy tcp client socket ,但是上面的这句该怎么改呢?
...全文
417 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ERR0RC0DE 2007-06-27
  • 打赏
  • 举报
回复
>>只不过查到说clientsocket不稳定

一句话就将别人写的几K的代码给否定了。。。

那别人用它写的代码,运行了N年了,是不是查到说不稳定也要换了。
msm 2007-06-25
  • 打赏
  • 举报
回复
[Error] ClientThread.pas(59): Incompatible types: 'TCustomWinSocket' and 'TIdIOHandlerSocket'

直接换成indytcpclientsocket后的编译错误
msm 2007-06-25
  • 打赏
  • 举报
回复
那上面的语句要怎么改写呢, 我没用过indy, 只不过查到说clientsocket不稳定
而且这个程序也确实运行不稳定
brightyang 2007-06-25
  • 打赏
  • 举报
回复
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;
brightyang 2007-06-25
  • 打赏
  • 举报
回复
不用创建吧
indy直接可以用sendstream发送和用readstream接收数据流的
为什么非要用twinsocketstream呢
indy是一套完全不同的组件
msm 2007-06-25
  • 打赏
  • 举报
回复
楼上兄弟,那要怎么使用indy创建TWinSocketStream呢
TWinSocketStream这个没办法改动,我只想用indy替换tclientsocket和tserversocket就行
brightyang 2007-06-25
  • 打赏
  • 举报
回复
当然不行呀
indy的创建连接过程根本就不是这样的

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧