Java SocketIO网络编程
2017-06-14 17:23
369 查看
服务器端
客户端
服务器处理类
import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class Server { final static int PROT = 8700; public static void main(String[] args) { ServerSocket server = null; try { server = new ServerSocket(PROT); System.out.println(" server start .. "); //进行阻塞 Socket socket = server.accept(); //新建一个线程执行客户端的任务 new Thread(new ServerHandler(socket)).start(); } catch (Exception e) { e.printStackTrace(); } finally { if (server != null) { try { server.close(); } catch (IOException e) { e.printStackTrace(); } } server = null; } } }
客户端
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; public class Client { final static String ADDRESS = "127.0.0.1"; final static int PORT = 8700; public static void main(String[] args) { Socket socket = null; BufferedReader in = null; PrintWriter out = null; try { socket = new Socket(ADDRESS, PORT); in = new BufferedReader(new InputStreamReader(socket.getInputStream())); out = new PrintWriter(socket.getOutputStream(), true); //向服务器端发送数据 out.println("接收到客户端的请求数据..."); String response = in.readLine(); System.out.println("Client: " + response); } catch (Exception e) { e.printStackTrace(); } finally { if(in != null){ try { in.close(); } catch (IOException e) { e.printStackTrace(); } } if(out != null){ try { out.close(); } catch (Exception e) { e.printStackTrace(); } } if(socket != null){ try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } socket = null; } } }
服务器处理类
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; public class ServerHandler implements Runnable{ private Socket socket ; public ServerHandler(Socket socket){ this.socket = socket; } @Override public void run() { BufferedReader in = null; PrintWriter out = null; try { in = new BufferedReader(new InputStreamReader(this.socket.getInputStream())); out = new PrintWriter(this.socket.getOutputStream(), true); String body = null; while(true){ body = in.readLine(); if(body == null) break; System.out.println("Server :" + body); out.println("服务器端回送响的应数据."); } } catch (Exception e) { e.printStackTrace(); } finally { if(in != null){ try { in.close(); } catch (IOException e) { e.printStackTrace(); } } if(out != null){ try { out.close(); } catch (Exception e) { e.printStackTrace(); } } if(socket != null){ try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } socket = null; } } }
相关文章推荐
- day12 Java IO 中的文件路径 Propertity 文件 Socket 网络编程
- Java网络编程精解之ServerSocket用法详解一2
- Java网络编程精解之ServerSocket用法详解三
- Java网络编程从入门到精通(16):客户端套接字(Socket)的超时
- Java Socket网络编程六
- Java Socket 网络编程问题剖析
- Java网络编程精解之ServerSocket用法详解二1
- Java网络编程从入门到精通(19):套接字(Socket)的异常
- java网络编程 UDP编程 Socket编程
- Socket的java网络编程原理
- Java网络编程-用SSL构建安全的Socket
- Java网络编程基础 1 建立一个提供当前时间字符串的ServerSocket
- 利用Socket进行Java网络编程
- Java网络编程从入门到精通(19):套接字(Socket)的异常
- Java网络编程-用SSL构建安全的Socket
- Java Socket网络编程基础
- 利用Socket进行Java网络编程
- 基于Socket的Java网络编程集粹
- Java Socket网络编程入门教程
- Java Socket网络编程四