Java写的TCP/IP通讯的问题:

yadang 2002-01-27 10:46:24
用Java的Socket类写TCP/IP通讯,用read()函数时要阻塞。有没有什么方法,让read()函数在一定的时间内没有接受到数据就返回?
...全文
104 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xmvigour 2002-01-28
阅~
  • 打赏
  • 举报
回复
yadang 2002-01-28
jdk 1.4 的new io是个什么东东??怎么没见过???
  • 打赏
  • 举报
回复
xiaozhubenben 2002-01-28
插一句,用 jdk 1.4 的new io吧,如果你需要支持大规模的并发连接(500-1000)的话。
  • 打赏
  • 举报
回复
skyyoung 2002-01-28
setSoTimeout
public void setSoTimeout(int timeout)
throws SocketException
Enable/disable SO_TIMEOUT with the specified timeout, in milliseconds. With this option set to a non-zero timeout, a read() call on the InputStream associated with this Socket will block for only this amount of time. If the timeout expires, a java.net.SocketTimeoutException is raised, though the Socket is still valid. The option must be enabled prior to entering the blocking operation to have effect. The timeout must be > 0. A timeout of zero is interpreted as an infinite timeout.

Parameters:
timeout - the specified timeout, in milliseconds.
Throws:
SocketException - if there is an error in the underlying protocol, such as a TCP error.
Since:
JDK 1.1
See Also:
getSoTimeout()
  • 打赏
  • 举报
回复
oldcat0076 2002-01-28
同意楼上
  • 打赏
  • 举报
回复
苏格拉顶777 2002-01-27
用Socket.setSoTimeout来设置超时。
  • 打赏
  • 举报
回复
发帖
非技术区

2.3w+

社区成员

Java 非技术区
社区管理员
  • 非技术区社区
加入社区
帖子事件
创建了帖子
2002-01-27 10:46
社区公告
暂无公告