最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡單的java socket客戶端和服務(wù)端示例

 更新時(shí)間:2014年01月29日 09:19:17   作者:  
這篇文章主要介紹了java的socket客戶端和服務(wù)端示例,大家參考使用吧

客戶端

復(fù)制代碼 代碼如下:

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

public class MyClient { 
    public static void main(String[] args) throws Exception { 
        Socket socket = new Socket("localhost", 10000); 
        BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); 
        PrintWriter out = new PrintWriter(socket.getOutputStream()); 
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 

        while (true) { 
            String msg = reader.readLine(); 
            out.println(msg); 
            out.flush(); 
            if (msg.equals("bye")) { 
                break; 
            } 
            System.out.println(in.readLine()); 
        } 
        socket.close(); 
    } 

服務(wù)端

復(fù)制代碼 代碼如下:

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

public class MyServer { 
    public static void main(String[] args) throws IOException { 
        ServerSocket server = new ServerSocket(10000); 

        while (true) { 
            Socket socket = server.accept(); 
            invoke(socket); 
        } 
    } 

    private static void invoke(final Socket client) throws IOException { 
        new Thread(new Runnable() { 
            public void run() { 
                BufferedReader in = null; 
                PrintWriter out = null; 
                try { 
                    in = new BufferedReader(new InputStreamReader(client.getInputStream())); 
                    out = new PrintWriter(client.getOutputStream()); 

                    while (true) { 
                        String msg = in.readLine(); 
                        System.out.println(msg); 
                        out.println("Server received " + msg); 
                        out.flush(); 
                        if (msg.equals("bye")) { 
                            break; 
                        } 
                    } 
                } catch(IOException ex) { 
                    ex.printStackTrace(); 
                } finally { 
                    try { 
                        in.close(); 
                    } catch (Exception e) {} 
                    try { 
                        out.close(); 
                    } catch (Exception e) {} 
                    try { 
                        client.close(); 
                    } catch (Exception e) {} 
                } 
            } 
        }).start(); 
    } 

相關(guān)文章

  • JVM常見垃圾收集器學(xué)習(xí)指南

    JVM常見垃圾收集器學(xué)習(xí)指南

    這篇文章主要為大家介紹了JVM常見垃圾收集器學(xué)習(xí)指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • servlet3新特性_動力節(jié)點(diǎn)Java學(xué)院整理

    servlet3新特性_動力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了servlet3新特性的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Java開發(fā)微信公眾號接收和被動回復(fù)普通消息

    Java開發(fā)微信公眾號接收和被動回復(fù)普通消息

    這篇文章主要介紹了Java開發(fā)微信公眾號接收和被動回復(fù)普通消息的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • SpringBoot自定義動態(tài)數(shù)據(jù)源的流程步驟

    SpringBoot自定義動態(tài)數(shù)據(jù)源的流程步驟

    動態(tài)數(shù)據(jù)源,本質(zhì)上是把多個(gè)數(shù)據(jù)源存儲在一個(gè)?Map?中,當(dāng)需要使用某一個(gè)數(shù)據(jù)源時(shí),使用?key?獲取指定數(shù)據(jù)源進(jìn)行處理,本文將給大家介紹一下SpringBoot自定義動態(tài)數(shù)據(jù)源的流程步驟,需要的朋友可以參考下
    2024-06-06
  • JAVA HashMap詳細(xì)介紹和示例

    JAVA HashMap詳細(xì)介紹和示例

    我們先對HashMap有個(gè)整體認(rèn)識,然后再學(xué)習(xí)它的源碼,最后再通過實(shí)例來學(xué)會使用HashMap。
    2013-11-11
  • 整理java讀書筆記十五之java中的內(nèi)部類

    整理java讀書筆記十五之java中的內(nèi)部類

    內(nèi)部類是指在一個(gè)外部類的內(nèi)部再定義一個(gè)類。類名不需要和文件夾相同。本文給大家分享java讀書筆記十五之java中的內(nèi)部類,對java讀書筆記相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • java實(shí)現(xiàn)文本復(fù)制功能

    java實(shí)現(xiàn)文本復(fù)制功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)文本復(fù)制功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Java中BEAN與EJB的區(qū)別淺析

    Java中BEAN與EJB的區(qū)別淺析

    這篇文章主要介紹了Java中BEAN與EJB的區(qū)別淺析,本文總結(jié)了它們之間的不同之處,需要的朋友可以參考下
    2015-03-03
  • SpringMvc web.xml配置實(shí)現(xiàn)原理過程解析

    SpringMvc web.xml配置實(shí)現(xiàn)原理過程解析

    這篇文章主要介紹了SpringMvc web.xml配置實(shí)現(xiàn)原理過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • IntelliJ IDEA編譯提速的兩種配置指南(中性能&高性能)

    IntelliJ IDEA編譯提速的兩種配置指南(中性能&高性能)

    很多開發(fā)者發(fā)現(xiàn),明明電腦配置挺高,IDEA 編譯 Maven 項(xiàng)目依然卡,本文帶大家從原理到實(shí)戰(zhàn),提供 兩套可直接復(fù)制使用的 VM 參數(shù)方案,有需要的小伙伴可以了解下
    2025-10-10

最新評論

山东省| 金寨县| 武强县| 宝鸡市| 崇明县| 边坝县| 报价| 图片| 陵川县| 东光县| 阜新| 龙陵县| 资源县| 黄石市| 常宁市| 无锡市| 车险| 循化| 青河县| 横山县| 泌阳县| 安达市| 滁州市| 鄯善县| 宝鸡市| 上犹县| 兴海县| 揭西县| 牙克石市| 长汀县| 永靖县| 华安县| 华亭县| 祁东县| 涞源县| 武隆县| 兴隆县| 栾川县| 白银市| 济阳县| 甘洛县|