您现在的位置是:首页
>
java的反射机制是怎么实现的 JAVA 的Socket机制
JAVA 的Socket机制 Socket机制用到的类有 ServerSocket Socket等 服务器端以监听端口号和接受队列长度为参数实例化ServerSocket类 缺省的队列长度是 以a

JAVA 的Socket机制
Socket机制用到的类有 ServerSocket Socket等 服务器端以监听端口号和接受队列长度为参数实例化ServerSocket类 缺省的队列长度是 以accept()方法接收客户的连接 客户端则直接以服务器的地址和监听端口为参数实例化Socket类 连接服务器 缺省的连接方式是stream socket(区别于datagram socket) 服务器端和客户端调用getInputStream()和getOutputStream()方法得到输入/输出流 如果以ObjectInputStream和ObjectOutputStream包装Socket的输入/输出流 要注意一点 ObjectOutputStream类实例化时要向底层流写入一个标识码 ObjectInputStream类相应的读入该标识码 如果实例化的次序不当会引起死锁 建议客户服务器两端都先实例化ObjectOutputStream 因为调用ServerSocket类的accept()方法和Socket输入流的read()方法时会引起线程阻塞 所以应该用setSoTimeout()方法设置超时 缺省的设置是 即超时永远不会发生 超时的判断是累计式的 一次设置后 每次调用引起的阻塞时间都从该值中扣除 直至另一次超时设置或有超时异常抛出 比如 某种服务需要三次调用read() 超时设置为 分钟 那么如果某次服务三次read()调用的总时间超过 分钟就会有异常抛出 如果要在同一个Socket上反复进行这种服务 就要在每次服务之前设置一次超时 lishixinzhi/Article/program/Java/hx/201311/27095 很赞哦! (1042)