草庐IT

delphi-6

全部标签

delphi - idHttpServer(服务器)和 wininet(客户端)上的 TCP Keep Alive

我有一个使用idHttpServer开发的网络服务器应用程序。当客户端连接我的网络服务器时,由于某种未知原因断开连接(不是正常断开连接),我的网络服务器没有收到通知。我知道这是正常行为,但我需要知道客户端何时死亡。有几种方法可以做到这一点。我知道2个好方法:1-实现心跳机制。客户端套接字通知服务器它仍然存在(需要一些工作和一些代码才能使其工作)2-TCPKeepAlive.这是我最喜欢的方式,因为它不需要太多的代码和工作。但我对此有一些疑问。这是否可以与idHttpServer(用于服务器)和wininet函数(对于客户端)?这真的像预期的那样有效吗?我的意思是,当客户端一直死机时,服

delphi - Indy TCPClient 和 InputBuffer 中的流氓字节

我正在使用以下几行代码通过IP写入和读取外部调制解调器/路由器(又名设备)。TCPClient.IOHandler.Write(MsgStr);TCPClient.IOHandler.InputBuffer.Clear;TCPClient.IOHandler.ReadBytes(Buffer,10,True);MsgStr是一种字符串类型,其中包含我发送到我的设备的文本。缓冲区被声明为TIdBytes。我可以确认IOHandler.InputBufferIsEmpty在调用ReadBytes之前立即返回True。我希望收到的前10个字节非常具体,因此从我的角度来看,我只对发送字符串后收

用于TCP连接的Delphi透明代理

有人知道用Delphi编写的TCP套接字代理应用程序的示例吗?我正在构建一个小型代理应用程序,它需要监听给定TCP端口上的套接字连接,读取通过连接发送的XML数据包,通过TCP将请求提供给从可用后端服务器池中选择的服务器,并交付返回原始TCP连接的结果响应。我非常熟悉TCP和套接字级编程,但更愿意找到示例代码作为起点。如果有可用的东西,那将节省大量时间和精力,因为我不需要重新发明轮子。我记得在2003/2004年看到一个用Delphi编写的小型TCP代理,但似乎已经失去了链接的踪迹。 最佳答案 您是否正在寻找socks代理实现?如果

delphi - 如何检查 TCP 端口是否可用 Delphi?

除了捕获netstat调用之外,是否有更优雅的方法来检查TCP端口是否可用于Delphi? 最佳答案 我想您可以使用Indy的组件来做到这一点。例如TIdHTTPServer如果端口在打开时正在使用,则会引发异常。所以基本上你可以创建这样的组件,将它绑定(bind)到localhost:如果引发异常(捕获并检查),则端口可能正在使用中,否则它是空闲的。我想其他indy组件可以判断端口是否打开,但我现在不能查看。这只是给你一个方法。 关于delphi-如何检查TCP端口是否可用Delphi

delphi - 如何测试网络设备的有效 RTSP 流?

我正在开发一个使用VLC媒体播放器插件通过RTSP流式传输视频/音频的项目。我想提供一个选项来扫描RTSP摄像机的网络。我确信这将包括查询所有网络设备的列表,并测试端口554。所有这些我都可以处理。但是,一旦我做到这一点,我该如何通过端口554测试设备以确保它是有效的RTSP相机?我假设Winsock中应该有一些东西可以做到这一点,但是我应该如何测试套接字连接并确保它是我可以连接到的有效RTSP流?无论使用什么方法,我都不必尝试通过RTSP连接到每个使用任何类型的身份验证的方法,我正在寻找一种较低级别的方法来确定端口554是否实际上提供了RTSP流。 最佳答

delphi - 最佳实践 : Keep TCP/IP connection open or close it after each transfer?

我的服务器应用程序使用TIdTCPServer,几个客户端应用程序使用TIdTCPClients连接到服务器(所有计算机都在同一个局域网中)。一些客户端只需要每隔几分钟与服务器联系一次,其他客户端每秒一次,其中一个大约每秒执行20次。如果我保持客户端和服务器之间的连接打开,我将保存重新连接,但必须检查连接是否丢失。如果我在每次传输后关闭连接,则每次都必须重新连接,但无需检查连接是否仍然存在。执行此操作的最佳方法是什么?一般情况下,我应该以哪种数据传输频率保持连接打开?这两种情况的其他优点/缺点是什么? 最佳答案 我建议将两者混合使用

delphi - Wiki:Delphi 第 3 方 TCP/IP 组件库的最新技术水平

我已经有大约18个月没有使用裸机TCP/IP了,所以我想知道当前的技术水平如何。我正在寻找积极和消极的方面,同时开发服务器和客户端软件。我将做一个需要坚如磐石的TCP/IP层的项目,所以对我来说这是一个重要方面:)为了使其成为一个社区维基,我正在寻找更广泛的答案,而不仅仅是“坚如磐石”。因此,例如有关特征宽度的信息也很受欢迎。我将使用在答案中找到的相关方面更新问题,以获得对这些库具有平衡概述的wiki条目。例如,根据我过去使用Indy的经验,请参阅下面的答案我对Indy中的异常处理和防卡住很矛盾,虽然习惯了,但还是觉得有些不自然。现在我在Delphi2007(非Unicode)和XE(

java - 使用 Delphi 中的 java 类

我需要使用一些java类中包含的逻辑。我找到了JNI,但该项目最近似乎没有更新。有没有办法在Delphinative应用程序中使用它?我使用Delphi2009。 最佳答案 比JNI更新的解决方案是JNA,它还支持来自(Delphi)DLL的回调。我发现它易于使用。 关于java-使用Delphi中的java类,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2997495/

python - 在 Python 中读取 Delphi 二进制文件

我有一个用以下Delphi声明编写的文件......TypeTfulldata=Recorddpoints,dloops:integer;dtime,bT,sT,hI,LI:real;tm:real;data:array[1..armax]OfReal;End;...Var:fh:FileOfTfulldata;如果可能的话,我想使用Python分析文件中的数据(大小为许多MB)-是否有一种简单的方法来读取数据并将数据转换为类似于Delphi记录形式的Python对象?有谁知道图书馆可能会这样做吗?这是在Delphi7上编译的,具有以下可能(或可能不)相关的选项,记录字段对齐:8奔腾安

python - Python可以调用DLL中的Delphi函数吗?

我正在尝试从似乎是在Delphi中创建的DLL中调用函数。DLL支持的一些函数的示例是:functionoziDeleteWpByName(varname:pansichar):integer;stdcall我为访问上述功能而编写的Python代码无法正常工作。fromctypesimport*libc=cdll.OziAPIname='test'pi=pointer(name)delname=libc.oziDeleteWpByNamedelname(name)看来我向函数传递了错误的数据类型。关于如何正确执行此操作的任何想法?谢谢它成功了。现在请帮助这个功能:函数oziGetOzi