相关疑难解决方法(0)

如何在Android中设置keepalive超时?

我想降低一个Socket的TCP保持活动时间,从2小时开始到10分钟左右.我可以使用socket.setKeepAlive(true)使用keepalive,但是如何控制keepalive数据包发送之前的时间?

看起来我可以这样做,如果我使用NDK,但我想将此代码分发为jar,所以这对我来说并不理想.

sockets android tcp keep-alive

7
推荐指数
2
解决办法
1万
查看次数

TCP在idHttpServer(服务器)和wininet(客户端)上保持活动

我有一个使用idHttpServer开发的Web服务器应用程序。当客户端连接时,请执行我的Web服务器,并且由于某种未知原因而断开连接(不是正常断开连接),则不会通知我的Web服务器。我知道这是正常的行为,但是我需要知道客户死亡的时间。

有几种方法可以做到这一点。我知道2种好方法:

1-实施心跳机制。客户端套接字通知服务器它仍在运行(需要一些工作和一些代码才能使其工作)

2- TCP保持活动。这是我最喜欢的方式,因为它不需要太多的代码和工作。但是我对此有一些疑问。

  • 是否可以与idHttpServer(用于服务器)和wininet函数(用于客户端)一起使用?
  • 这真的按预期工作吗?我的意思是,当客户端一直死掉时,服务器会被通知?
  • 有人在wininet上设置此示例吗?(我猜这必须在客户端设置,对吗?)
  • 是否有更好的方法通知服务器客户端已死(当然使用indy和wininet)

编辑

我正在使用Delphi 2010和他们svn的最后一个Indy10源代码。

delphi tcp wininet indy keep-alive

5
推荐指数
1
解决办法
3568
查看次数

标签 统计

keep-alive ×2

tcp ×2

android ×1

delphi ×1

indy ×1

sockets ×1

wininet ×1