Java socket阻塞设置超时

  setSoTimeout(int timeout)
          启用/禁用带有指定超时值的 SO_TIMEOUT,以毫秒为单位。
时间: 2024-11-01 22:57:35

Java socket阻塞设置超时的相关文章

Java设置Client Socket链接Server超时时间

Java设置Client Socket链接Server超时时间 学习了:http://blog.csdn.net/tterminator/article/details/52494141 http://blog.csdn.net/fw0124/article/details/41227543 整理如下: Socket client = null; // 创建一个流套接字,连接到指定主机上的指定端口号 // client = new Socket(IP, PORT); client = new S

JAVA Socket超时浅析(转)

套接字或插座(socket)是一种软件形式的抽象,用于表达两台机器间一个连接的“终端”.针对一个特定的连接,每台机器上都有一个“套接字”,可以想象它们之间有一条虚拟的“线缆”.JAVA有两个基于数据流的套接字类:ServerSocket,服务器用它“侦听”进入的连接:Socket,客户端用它初始一次连接.侦听套接字只能接收新的连接请求,不能接收实际的数据包. 套接字是基于TCP/IP实现的,它是用来提供一个访问TCP的服务接口,或者说套接字socket是TCP的应用编程接口API,通过它应用层就

fcntl设置无阻塞的超时连接

场景描述:采用fcntl函数设置无阻塞套接字,尝试连接远程服务器,连接的时候出现如下的错误: if(fcntl(sock, F_SETFL, O_NONBLOCK) == -1)   return -1; printf("Connect return retval = %d,sock =%d\n",retval,sock);    retval = connect(sock, (struct sockaddr *)&edpinfo->servAddr, sizeof(st

socket为send和recv设置超时时间

linux和windows下用setsockopt设置SO_SNDTIMEO,SO_RCVTIMEO的参数的一点区别 UDP的socket在某些情况:如对方关闭时,本地可能sendto不出去数据,然后recvfrom就会被阻塞,这时就需要设置 这两个参数的值提高程序质量. linux: struct timeval timeout={3,0};//3s    int ret=setsockopt(sock_fd,SOL_SOCKET,SO_SNDTIMEO,(const char*)&timeo

java测试网络连接是否成功并设置超时时间

/** * 获取RMI接口状态 * * @return "0":服务正常,"1": 连接报错,"2":连接超时 */ @Override public String getRMIJkzt() { final ExecutorService es = Executors.newFixedThreadPool(1); Callable<String> callable = new Callable<String>() {//使

win32 socket阻塞与非阻塞函数及设置

win32 socket中有些函数是默认阻塞的,比如accept(),send(),recv()等等,其中send()与recv()的阻塞概念与accept()的阻塞概念不同. send()与recv()只是完成数据的拷贝工作,即send()函数仅仅是将数据放到发送缓冲区中,至于实际的发送工作由网络协议完成:recv()函数仅仅是从接收缓冲区中读取数据,实际接收数据的操作由网络协议完成.send()的阻塞主要由发送数据填满发送缓冲区产生的,recv()的阻塞则是由接收缓冲区中没有数据可读引起的.

java socket 的参数选项解读(转)

java socket中有很多参数可以选择,这篇博客的目的是沉淀出这些参数的语义和用法,供自己以后查阅. 1.java socket参数选项总览 在JDK1.6中有如下参数选项: 1 public final static int TCP_NODELAY = 0x0001; 2 3 public final static int SO_BINDADDR = 0x000F; 4 5 public final static int SO_REUSEADDR = 0x04; 6 7 public fi

【转】Java Socket编程

原文地址:Java Socket编程 Java Socket编程 对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket.服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了.首先ServerSocket将在服务端监听某个端口,当发现客户端有Socket来试图连接它时,它会accept该Socket的连接请求,同时在服务端建立一个对应的Socket与之进行通信.这样就有两个Socket了,客户端和服务端各一个. 对于Socket之间的通

Java线程阻塞中断和LockSupport的常见问题

上周五和周末,工作忙里偷闲,在看java cocurrent中也顺便再温故了一下Thread.interrupt和java 5之后的LockSupport的实现. 在介绍之前,先抛几个问题. Thread.interrupt()方法和InterruptedException异常的关系?是由interrupt触发产生了InterruptedException异常? Thread.interrupt()会中断线程什么状态的工作? RUNNING or BLOCKING? 一般Thread编程需要关注