indy 远程桌面UDP数据流问题,来者有分!!

dnahonker dnahonker 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
不知道如下代码有什么问题
接收不到远程桌面

服务端

///////////////////////////////////////
procedure TForm1.Button2Click(Sender: TObject);
var
sendsize:longint;
Buf:array[0..BufSize-1] of char;
begin
if JpegStream.Size = 0 then
snapscreen;
if LeftSize > BufSize then
SendSize := BufSize
else
SendSize := LeftSize;
//将jpegStream内存流读取SendSize大小的数据到缓冲区
jpegStream.ReadBuffer(Buf,sendSize);
LeftSize:=LeftSize-SendSize;
//向客户端发送
try
idudpclient1.SendBuffer(buf,sendsize);
Memo1.Lines.Add(Buf);//测试,这里有数据传输
sleep(10);
except
jpegstream.Clear;
end;
if LeftSize=0 then
jpegStream.Clear;
end;



procedure Tform1.snapScreen();
var
bmpscreen:Tbitmap;
jpegscreen:Tjpegimage;
FullscreenCanvas:TCanvas;
dc:HDC;
sourceRect,destRect:TRect;
begin
//得到屏幕设备
dc:=getdc(0);
//创建画布句柄
fullscreencanvas:=Tcanvas.Create;
fullscreencanvas.Handle:=dc;
//创建存储位图对象
bmpscreen:=Tbitmap.create;
bmpscreen.Width:=screen.Width;
bmpscreen.Height:=screen.Height;
sourcerect:=rect(0,0,screen.Width,screen.Height);
destrect:=rect(0,0,screen.Width,screen.Height);
//将屏幕图象抓取到bmpScreen位图中
bmpscreen.Canvas.CopyRect(sourcerect,fullscreenCanvas,destrect);
//创建储存Jpeg格式的对象
jpegscreen:=Tjpegimage.Create;
//将图象压缩成Jpeg格式,保存到JpegStream内存流中。
jpegscreen.Assign(bmpscreen);
jpegscreen.CompressionQuality:=10;
jpegscreen.SaveToStream(jpegStream);
jpegstream.Position:=0;
LeftSize:=jpegStream.Size;
//释放创建的对象
FullscreenCanvas.Free;
bmpscreen.Free;
jpegscreen.Free;
ReleaseDC(0,DC);
end;

//以上是发送的代码,下面是接收的代码,但是总是接收不到

procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
datastringstream:TStringStream;
begin
datastringstream:=TStringStream.Create('');
datastringstream.CopyFrom(AData,AData.Size);
Image1.Picture.Bitmap.LoadFromStream(datastringstream);
Image1.Free;
end;

这里并不能获得远程桌面的截图,请问如何能获取到呢?谢谢各位了。来者有分
别告诉我用TCP,我现在只想知道UDP的,谢谢各位了
...全文

相关推荐

delphi的Indy实现tcp和udp例子源

delphi实现tcp和udp 通信 tcp和udp是分开的,里面分别有server 和client

qqp_528

Indy 10.6核心动态链接库完整解决方案

Indy(Internet Direct)是一套功能强大的开源网络通信组件库,广泛应用于Delphi和C++ Builder开发环境中,支持多种网络协议的实现与封装。作为其重要版本之一,Indy 10.6 提供了对现代安全传输协议的深度支持,包括HTTPS、FTPS、SMTPS等,能够满足企业级应用中对高可靠性、高安全性通信的需求。Windows采用基于模块的执行模型,每个进程都维护一个模块列表,记录当前已加载的所有EXE和DLL。

verbaWP

Indy10核心架构与实战:Delphi网络编程的TCP/SSL开发指南

网络通信是软件开发的常见基础设施,Delphi开发者常借助成熟的网络组件库来降低TCP/UDP、HTTP、SSL/TLS等协议的实施成本。Indy10(Internet Direct)作为Delphi内置的开源网络组件套件,采用组件化与上下文分离的设计理念,通过IOHandler处理数据读写、Context管理连接状态、Intercept拦截数据流,形成一套清晰可复用的阻塞式网络模型。这种架构让开发者能顺序编写网络逻辑,天然适应多线程场景,尤其适合桌面工具、内部服务及跨平台客户端。在实际工程中,TIdTCP

黑河市all

Delphi7集成RTSP流媒体:协议解析与VLC解码实战

实时流协议(RTSP)是网络视频传输的核心协议之一,常用于安防监控、流媒体服务等场景。其工作原理基于客户端-服务器模型,通过RTSP进行会话控制,RTP传输音视频数据,RTCP管理传输质量。在传统桌面应用开发中,集成RTSP能力可以扩展软件的视频处理功能,尤其适用于需要对接IP摄像头的工控、管理软件。本文以经典的Delphi7开发环境为例,详细解析如何通过RTSPForDelphi库实现协议栈的封装,并结合libvlc解码器完成H.264码流的实时渲染。通过具体的代码示例,展示了从RTSP连接建立、RTP数

weixin_33845881

delphi indy udp indy10.5.5_udp

delphi indy udp indy10.5.5_udp

xingwei7
评论 19
收藏 已收藏
分享
返回顶部