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

           }

        }

    }

     

     

  • 相关阅读:
    用鼠标滚轮做事件
    0927 匿名函数,隐藏显示层
    好友选中
    bzoj:1687;poj 2434:[Usaco2005 Open]Navigating the City 城市交通
    bzoj:1659: [Usaco2006 Mar]Lights Out 关灯
    bzoj:3392: [Usaco2005 Feb]Part Acquisition 交易
    bzoj:1723: [Usaco2009 Feb]The Leprechaun 寻宝
    poj 2434;bzoj 1686 [Usaco2005 Open]Waves 波纹
    bzoj:3397 [Usaco2009 Feb]Surround the Islands 环岛篱笆
    bzoj:3400 [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队
  • 原文地址:https://www.cnblogs.com/zfc2201/p/2143625.html
Copyright © 2011-2022 走看看