zoukankan      html  css  js  c++  java
  • BIO

    ===============================================================BIO01================================================

    package bhz.bio;

    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 = 8765;

    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;
    }
    }
    }

    package bhz.bio;

    import java.io.IOException;
    import java.net.ServerSocket;
    import java.net.Socket;


    public class Server {

    final static int PROT = 8765;

    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;
    }



    }



    }

    package bhz.bio;

    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;
    }


    }

    }

    =====================================================================BIO01===============================================

    =====================================================================BIO02================================================

    package bhz.bio2;

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.Socket;
    import java.net.UnknownHostException;

    public class Client {

    final static String ADDRESS = "127.0.0.1";
    final static int PORT =8765;

    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("Client request");

    String response = in.readLine();
    System.out.println("Client:" + response);


    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } finally {
    if(in != null){
    try {
    in.close();
    } catch (Exception e1) {
    e1.printStackTrace();
    }
    }
    if(out != null){
    try {
    out.close();
    } catch (Exception e2) {
    e2.printStackTrace();
    }
    }
    if(socket != null){
    try {
    socket.close();
    } catch (Exception e3) {
    e3.printStackTrace();
    }
    }
    socket = null;
    }



    }

    }

    package bhz.bio2;

    import java.io.BufferedReader;
    import java.io.PrintWriter;
    import java.net.ServerSocket;
    import java.net.Socket;

    public class Server {

    final static int PORT = 8765;

    public static void main(String[] args) {
    ServerSocket server = null;
    BufferedReader in = null;
    PrintWriter out = null;
    try {
    server = new ServerSocket(PORT);
    System.out.println("server start");
    Socket socket = null;
    HandlerExecutorPool executorPool = new HandlerExecutorPool(50, 1000);
    while(true){
    socket = server.accept();
    executorPool.execute(new ServerHandler(socket));
    }

    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    if(in != null){
    try {
    in.close();
    } catch (Exception e1) {
    e1.printStackTrace();
    }
    }
    if(out != null){
    try {
    out.close();
    } catch (Exception e2) {
    e2.printStackTrace();
    }
    }
    if(server != null){
    try {
    server.close();
    } catch (Exception e3) {
    e3.printStackTrace();
    }
    }
    server = null;
    }



    }


    }

    package bhz.bio2;

    import java.util.concurrent.ArrayBlockingQueue;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.ThreadPoolExecutor;
    import java.util.concurrent.TimeUnit;

    public class HandlerExecutorPool {

    private ExecutorService executor;
    public HandlerExecutorPool(int maxPoolSize, int queueSize){
    this.executor = new ThreadPoolExecutor(
    Runtime.getRuntime().availableProcessors(),
    maxPoolSize,
    120L,
    TimeUnit.SECONDS,
    new ArrayBlockingQueue<Runnable>(queueSize));
    }

    public void execute(Runnable task){
    this.executor.execute(task);
    }



    }

    package bhz.bio2;

    import java.io.BufferedReader;
    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("Server response");
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    if(in != null){
    try {
    in.close();
    } catch (Exception e1) {
    e1.printStackTrace();
    }
    }
    if(out != null){
    try {
    out.close();
    } catch (Exception e2) {
    e2.printStackTrace();
    }
    }
    if(socket != null){
    try {
    socket.close();
    } catch (Exception e3) {
    e3.printStackTrace();
    }
    }
    socket = null;
    }


    }

    }

    ======================================================================BIO02=====================================================

  • 相关阅读:
    PHP和Ajax设置页面请求超时
    Flex 布局教程
    数据库访问优化法则
    phpcms网站搬家至服务器
    phpcms网页替换验证码及搜索功能
    php判断手机段登录
    php环境搭建
    ThinkPHP框架
    JQuery事件
    JQuery
  • 原文地址:https://www.cnblogs.com/chinaifae/p/10318722.html
Copyright © 2011-2022 走看看