Android 网络编程 API笔记 - java.net 包相关 接口 api(二)

2014-11-23 21:55:19 · 作者: · 浏览: 16
UT : 设置 Socket 阻塞的 超时值;

-- 超时的操作 : ServerSocket.accept(), SocketInputStream.read(), DatagramSocket.receive();

-- 设置时机 : 该选项必须在进入阻塞前设置才有效, 如果是阻塞的状态, 设置将不会对本次阻塞生效;

-- 超时处理 : 如果出现超时, 阻塞会继续执行, 但是会引发 InterruptedIOException 异常, Socket 不会关闭;

-- 适用情况 : 该设置对所有的套接字 ( SocketImpl, DatagramSocketImpl ) 有效;


TCP_NODELAY : 设置该参数的链接禁用 nagle 算法;


Nagle算法解析 : 减少发包个数, 用于增加网络软件的效率, 避免 一个包只有 1字节, 却使用了 40个字节的头文件的情况;



(2) 接口方法详解


void setOption(int optID, Object value) throws SocketException
-- 作用 : 启用 / 禁用 指定选项, 如果启用, 将会采用 value 选项;

-- 选项传入错误 : 如果传入的 value 格式不正确, 会发生错误;

-- 传入基本数据类型 : 使用 Integer Boolean 等封装;

-- 禁用选项 : 传入 new Boolean(false) 可以禁用任何选项, 如果传入其它内容 都会启用该选项;

-- 异常 : 如果选项匹配错误, 或者 socket 关闭 等错误, 就会报出 SocketException 异常;

Object getOption(int optID) throws SocketException
-- 作用 : 获取选项的值;



6. URLStreamHandlerFactory


接口作用 : 定义了 URL 流协议处理程序的工厂, URL 类实现该接口 为特定的协议创建 URLStreamHandler;


createURLStreamHandler URLStreamHandler createURLStreamHandler(String protocol)
-- 作用 : 创建具有指定协议的新的 URLStreamHandler实例;



,