- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过 DatagramSocket 发送数据,并且希望这样做,如果发送的数据超出了其确认超时,则应该重新发送。
我们可以使用 DatagramSocket.SetSoTimeout 选项吗?如果是的话我该怎么办??
例如
try
{
while(true)
{
socket.send(data);
}
}catch (SocketTimeoutException e)
{
// resend for which it occured
}
这可能吗?
最佳答案
文档似乎很清楚 setSoTimeout
的目的:
a call to receive() for this DatagramSocket will block for only this amount of time
首先它与send
没有任何关系,其次它只有在阻塞一段时间后才会超时。
如果您想要可靠性,请使用 TCP。如果您绝对需要/想要使用 UDP,则必须设计自己的可靠性机制。这是关于这个特定问题的另一个问题:
What do you use when you need reliable UDP?
基本上,这实际上取决于您正在做什么,因为如果您需要通用解决方案,您最终将重新发明 TCP!
关于java - java 中的 setsotimeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4985208/
我对 socket.setSoTimeout( int ) 方法很困惑。 在我打电话的情况下 socket.setSoTimeout(4000); try{ string data =
该服务器的作用类似于回显服务器。客户端向服务器发送 10 个数据包(间隔 1 秒) 当客户端从服务器接收数据包时,有时会出现数据包丢失的情况。 因此客户端必须等待最多一秒数据包到达。如果数据包未在 1
我目前正在开发一个客户端-服务器应用程序(出于学习目的),并且我完全陷入如何正确设置 DatagramSocket 超时以及如何处理异常的问题。 服务器端看起来像这样: while (true) {
我对 socket.setSoTimeout( int ) 方法很困惑。 在我打电话的情况下 socket.setSoTimeout(4000); try{ string data =
所以我遇到了一个不工作的套接字超时。我按照现有帖子给出的所有说明进行操作,但它仍然无法正常工作(我从未收到套接字超时异常)。这是我的代码: AsyncTask task = new AsyncTask
我正在尝试自己学习 Socket。我对 Oracle 网站上的以下文字有点困惑。我对此有一些疑问。提前感谢您提供任何明确的解释。 setSoTimeout public void setSoTimeo
我正在尝试通过 DatagramSocket 发送数据,并且希望这样做,如果发送的数据超出了其确认超时,则应该重新发送。 我们可以使用 DatagramSocket.SetSoTimeout 选项吗?
当您使用 socket.seSoTimeout(5000); 在套接字上设置超时时,套接字是关闭还是在超时后停止监听?我是否必须再次打开套接字才能继续收听,还是它会自动打开? receivingSoc
我正在编写一个程序,需要读取如下形式的套接字: socket = (SSLSocket) factory.createSocket(domain, port); socket.setSoTimeout
我有一个具有三个线程的 Java 应用程序,每个线程打开一个套接字并连接到不同端口上的服务器。在建立与服务器的连接后,我在每个套接字上设置了 so_timeout。之后,线程阻塞等待 read()。只
我有一个场景,其中有服务器监听指定的 ip 和端口以及连接到该服务器的客户端。现在我正在使用 readline 方法从服务器读取响应: String readme=bs.readline()).
我有一个问题,我使用 setSoTimeout(500) 将连接超时设置为 0.5 秒并读取时间延迟,但它实际上没有工作,而是在大约 10 秒后超时就像它通常对这种异常所做的那样。是的,IP 在这种情
因此,我在客户端编写了一个线程,它尝试从套接字流中readObject()。 只要客户端连接,该线程就会运行。 可以在客户端的 GUI 上关闭与服务器的连接。如果客户端决定断开连接(这不会退出客户端程
此代码 fragment 来 self 在 Android java 中制作的 TCP 辅助函数: socket.setSoTimeout(2000);
我有一个与客户端连接以接收字符串的服务器,但是当连接丢失时,服务器会保持相同的状态,并且不会返回到尝试再次建立连接的状态。我使用了 setSoTimeout 但它不起作用。 这是我的代码: Serve
我正在尝试编写一个基于JAVA的comet HTTP流。我为此使用 apache httpClient 4.x。由于它是 Comet HTTP 流,因此所有事件都以分块数据的形式到达客户端。由于连接可
来自 setSoTimeout 的 JavaDoc Enable/disable SO_TIMEOUT with the specified timeout, in milliseconds. Wit
文档说 Socket 的 setSoTimeout(int) 方法 throws SocketException - if there is an error in the underlying pr
我是reading here, that On connect, the JVM (Java Virtual Machine) tries to resolve the hostname to IP/
以下博客解释了 ftp apache commens net libaray 的不同超时即 setDefaultTimeout()、setSoTimeout()、setDataTimeout()。 h
我是一名优秀的程序员,十分优秀!