java socket延时
时间: 2023-08-01 11:08:42 浏览: 58
Java中的Socket延时是指在网络通信中,当一个Socket连接发送或接收数据时,如果在一定时间内没有收到响应或数据,就会抛出SocketTimeoutException异常。这个延时时间可以通过设置Socket的so timeout参数来控制。\[1\]
在Jedis中,默认的so timeout值为2000毫秒。当执行某个命令耗时较长,导致客户端迟迟没有收到响应时,就会抛出SocketTimeoutException异常。一般情况下,不建议执行耗时较长的命令,但如果有特殊逻辑需要执行,可能需要修改Jedis中的so timeout值。\[2\]
so timeout参数通过socket.setSoTimeout(int timeout)方法设置,它的意思是,与socket关联的InputStream的read()方法会阻塞,直到超过设置的so timeout时间,才会抛出SocketTimeoutException异常。如果不设置这个参数,默认值为无穷大,即InputStream的read方法会一直阻塞下去,除非连接断开。\[3\]
#### 引用[.reference_title]
- *1* *2* *3* [Java Socket Timeout 总结](https://blog.csdn.net/weixin_39822673/article/details/115073252)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]