从套接字读取 n 秒

Read from a socket for n seconds

本文关键字:读取 套接字      更新时间:2023-10-16

我想放一个超时读取套接字,我在C++中找到了这个,我想在 Java 上转换它。

int readable_timeo(SOCKET fd, int sec){
fd_set rset;
struct timeval tv;

FD_ZERO(&rset);
FD_SET(fd, &rset);
tv.tv_sec = sec;
tv.tv_usec = 500000;
return (select(0, &rset, NULL, NULL, &tv));}

有什么建议吗?

感谢您的帮助!

Java 中的简单等价物是 Socket.setSoTimeout()。等效于你发布的代码,不是最简单的,是Selector.select()。