标签:socket
Socket server 和 client 通信流程图:
服务端代码:
serverSocket = new ServerSocket(); serverSocket.setReuseAddress(true); serverSocket.bind(new InetSocketAddress(port)); socket = serverSocket.accept(); socket.setSoTimeout(timeOut); //表示接收数据时的等待超时数据, 此方法必须在接收数据之前执行才有效. 此外, 当输入流的 read()方法抛出 SocketTimeoutException后, Socket仍然是连接的, 可以尝试再次读数据, 单位为毫秒, 它的默认值为 0(表示会无限等待, 永远不会超时) socket.setKeepAlive(false); //表示对于长时间处于空闲状态的Socket, 是否要自动把它关闭 in = new BufferedReader(new InputStreamReader(socket.getInputStream())); if (in.ready()) { //流准备好了做处理 } in.close() pool.shutdown();
客户端代码:发信息
socketclient = new Socket(serverip, port); socketclient.setSoTimeout(0); socketclient.setKeepAlive(false); os = new BufferedOutputStream(socketclient.getOutputStream()); os.write(information); os.flush(); os.close(); Thread.sleep(3000);
参考文章:
http://shihuan830619.iteye.com/blog/2041774
本文出自 “一无所有-天行者” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1685868
标签:socket
原文地址:http://tianxingzhe.blog.51cto.com/3390077/1685868