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();

           }

        }

    }

     

     

  • 相关阅读:
    正则表达式数据验证
    .NET开发工具
    (收藏)自己觉得好的学习网站 持续更新... ...
    MSSQL获取表结构通用方法
    第一阶段冲刺个人博客07
    第一阶段冲刺个人博客06
    第8周学习进度
    第一阶段冲刺个人博客05
    ”图书馆助手“典型用户和用户场景
    ”图书馆助手“典型用户和用户场景
  • 原文地址:https://www.cnblogs.com/zfc2201/p/2143625.html
Copyright © 2011-2022 走看看