Java Socket
2017-09-01 10:14
204 查看
流程介绍
SocketServer
package com.socket; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.Writer; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketException; import java.net.SocketTimeoutException; import java.text.SimpleDateFormat; import java.util.Date; public class SocketServer { public static String _pattern = "yyyy-MM-dd HH:mm:ss SSS"; public static SimpleDateFormat format = new SimpleDateFormat(_pattern); // 设置超时间 public static int _sec = 0; public static void main(String[] args) { System.out.println("----------SocketServer----------"); System.out.println(format.format(new Date())); ServerSocket server; try { server = new ServerSocket(8001); System.out.println("监听建立 等你上线\n"); Socket socket = server.accept(); System.out.println(format.format(new Date())); System.out.println("建立了链接\n"); BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); socket.setSoTimeout(_sec * 1000); System.out.println(format.format(new Date()) + "\n" + _sec + "秒的时间 快写\n"); System.out.println(format.format(new Date()) + "\nSocketClient:" + br.readLine() + "\n"); Writer writer = new OutputStreamWriter(socket.getOutputStream()); System.out.println(format.format(new Date())); System.out.println("我在写回复\n"); writer.write("收到\n"); Thread.sleep(10000); writer.flush(); System.out.println(format.format(new Date())); System.out.println("写完啦 你收下\n\n\n\n\n"); } catch (SocketTimeoutException e) { System.out.println(format.format(new Date()) + "\n" + _sec + "秒没给我数据 我下啦\n\n\n\n\n"); e.printStackTrace(); } catch (SocketException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } }
SocketClient
package com.socket; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.Writer; import java.net.Socket; import java.net.SocketException; import java.net.SocketTimeoutException; import java.text.SimpleDateFormat; import java.util.Date; public class SocketClient { public static String _pattern = "yyyy-MM-dd HH:mm:ss SSS"; public static SimpleDateFormat format = new SimpleDateFormat(_pattern); // 设置超时间 public static int _sec = 5; public static void main(String[] args) { System.out.println("----------SocketClient----------"); Socket socket = null; try { // 与服务端建立连接 socket = new Socket("127.0.0.1", 8001); socket.setSoTimeout(_sec * 1000); System.out.println(format.format(new Date())); System.out.println("建立了链接\n"); // 往服务写数据 Writer writer = new OutputStreamWriter(socket.getOutputStream()); System.out.println(format.format(new Date())); System.out.println("我在写啦\n"); Thread.sleep(10000); writer.write("有没有收到\n"); System.out.println(format.format(new Date())); System.out.println("写完啦 你收下\n"); writer.flush(); BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); System.out.println(format.format(new Date()) + "\n" + _sec + "秒的时间 告诉我你收到了吗\n"); System.out.println(format.format(new Date()) + "\nSocketServer:" + br.readLine()); } catch (SocketTimeoutException e) { System.out.println(format.format(new Date()) + "\n" + _sec + "秒没收到回复 我下啦\n\n\n\n\n"); e.printStackTrace(); } catch (SocketException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } }
相关文章推荐
- JAVA Socket 编程的两个问题,readline(),判断Socket连接断掉
- Java Socket网络编程的经典例子
- 基于Java Socket的文件UpLoad代码(完美版)-用递归解决java的目录树遍历
- java socket的简单使用实例
- 浅出Java Socket编程
- 通过java socket编程使用smtp简单邮件协议发送邮件
- java socket聊天室
- Java socket编程 猜数游戏--1--服务端
- AS3与JAVA socket通讯的 安全沙箱问题 终于解决了
- Flex与Java Socket的AMF3通信小示范
- AS3与JAVA socket通讯的 安全沙箱问题
- java Socket--udp
- Java Socket编程 标准范例(多线程)
- java socket 网络
- java Socket客户端和服务器端
- java Socket编程(二)
- Java Socket聊天程序核心代码讲解
- java socket通信-传输文件图片
- Java Socket实战之四 传输压缩对象
- java Socket学习心得