中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

java服務(wù)端 客戶端(非阻塞 多線程)

2018-07-20    來源:open-open

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬Linux鏡像隨意使用
public class MultithreadJIoSocketTest {
    @Test
    public void testMultithreadJIoSocket() throws Exception {
        ServerSocket serverSocket = new ServerSocket (10002);
        Thread thread = new Thread (new Accptor (serverSocket) );
        thread.start();

        Scanner scanner = new Scanner (System.in);
        scanner.next();
    }

    public class Accptor implements Runnable {
        private ServerSocket serverSocket;

        public Accptor (ServerSocket serverSocket) {
            this.serverSocket = serverSocket;
        }

        public void run() {
            while (true) {
                Socket socket = null;
                try {
                    socket = serverSocket.accept();
                    if (socket != null) {
                        System.out.println ("收到了socket:" + socket.getRemoteSocketAddress().toString() );
                        Thread thread = new Thread (new Processor (socket) );
                        thread.start();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    public class Processor implements Runnable {
        private Socket socket;

        public Processor (Socket socket) {
            this.socket = socket;
        }

        @Override
        public void run() {
            try {
                BufferedReader in = new BufferedReader (new InputStreamReader (socket.getInputStream() ) );
                String readLine;
                while (true) {
                    readLine = in.readLine();
                    System.out.println ("收到消息" + readLine);
                    if ("end".equals (readLine) ) {
                        break;
                    }
                    //客戶端斷開連接
                    socket.sendUrgentData (0xFF);
                    Thread.sleep (5000);
                }
            } catch (InterruptedException e) {
                e.printStackTrace();
            } catch (SocketException se) {
                System.out.println ("客戶端斷開連接");
            } catch (IOException e) {
                e.printStackTrace();
            }
            finally {
                try
                {
                    socket.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

    }
}

標(biāo)簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:JS定時(shí)器

下一篇: 在spring中使用quartz的一個(gè)小例子