zoukankan      html  css  js  c++  java
  • Socket编程简单示例

    服务器端

    public class TcpServer

    {

        public static void main(String[] args) throws Exception

        {

           ServerSocket ss = new ServerSocket(5000);

          

           while(true)

           {

               Socket socket = ss.accept();

              

               new ServerInputThread(socket).start();

               new ServerOutputThread(socket).start();

           }

        }

    }

     

    客户端

    public class TcpClient

    {

        public static void main(String[] args) throws Exception

        {

           Socket socket = new Socket("127.0.0.1", 5000);

     

           new ClientInputThread(socket).start();

           new ClientOutputThread(socket).start();

        }

    }

     

    服务器端读数据

    public class ServerInputThread extends Thread

    {

        private Socket socket;

     

        public ServerInputThread(Socket socket)

        {

           this.socket = socket;

        }

     

        @Override

        public void run()

        {

           try

           {

               InputStream is = socket.getInputStream();

     

               while (true)

               {

                  byte[] buffer = new byte[1024];

     

                  int len = is.read(buffer);

     

                  String str = new String(buffer, 0, len);

     

                  System.out.println(str);

               }

           }

           catch (IOException e)

           {

               // TODO Auto-generated catch block

               e.printStackTrace();

           }

        }

    }

     

    服务器端写数据

    public class ServerOutputThread extends Thread

    {

        private Socket socket;

     

        public ServerOutputThread(Socket socket)

        {

           this.socket = socket;

        }

     

        @Override

        public void run()

        {

           try

           {

               OutputStream os = socket.getOutputStream();

     

               while (true)

               {

                  BufferedReader br = new BufferedReader(new InputStreamReader(

                         System.in));

                  String line = br.readLine();

                  os.write(line.getBytes());

               }

           }

           catch (IOException e)

           {

               // TODO Auto-generated catch block

               e.printStackTrace();

           }

        }

    }

     

    客户端读数据

    public class ClientInputThread extends Thread

    {

        private Socket socket;

     

        public ClientInputThread(Socket socket)

        {

           this.socket = socket;

        }

     

        @Override

        public void run()

        {

           try

           {

               InputStream is = socket.getInputStream();

     

               while (true)

               {

                  byte[] buffer = new byte[1024];

     

                  int len = is.read(buffer);

     

                  String str = new String(buffer, 0, len);

     

                  System.out.println(str);

               }

           }

           catch (IOException e)

           {

               // TODO Auto-generated catch block

               e.printStackTrace();

           }

        }

    }

     

    客户端写数据

    public class ClientOutputThread extends Thread

    {

        private Socket socket;

     

        public ClientOutputThread(Socket socket)

        {

           this.socket = socket;

        }

     

        @Override

        public void run()

        {

           try

           {

               OutputStream os = socket.getOutputStream();

     

               while (true)

               {

                  BufferedReader br = new BufferedReader(new InputStreamReader(

                         System.in));

                  String line = br.readLine();

                  os.write(line.getBytes());

               }

           }

           catch (IOException e)

           {

               // TODO Auto-generated catch block

               e.printStackTrace();

           }

        }

    }

     

     

  • 相关阅读:
    OpenCV/python读取,显示,保存图像
    机器学习的基本分类
    Qt Designer常用部件介绍
    C#数据类型列表
    SQL-Base 函数
    SQl 基本函数
    SQL 插入数据
    SQL-Base 用表组织数据
    SQLserver的基本用法
    C#MyBank(自己的看法,转账有点小问题)
  • 原文地址:https://www.cnblogs.com/zfc2201/p/2143625.html
Copyright © 2011-2022 走看看