<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    無限地吸取知識

    快樂就是一生中最大的享受!

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      3 Posts :: 0 Stories :: 2 Comments :: 0 Trackbacks

    今天復習了一下網絡底層的socket編程,socket編程的大致步驟如下:
    1、創建服務器端SocketServer,并定義SocketServer的監聽端口;
    2、ServerSocket調用accept( )方法,是指處于阻塞;
    3、創建客戶端的Socket,并設置服務器的IP和端口;
    4、客戶端發送連接請求,建立連接;
    5、分別取得服務器和客戶端Socket的InputStream和OutputStream;
    6;利用Socket和ServerSocket進行數據傳輸。

    其中比較重要的只是點是文件的I/O操作,以及Socket的幾個主要API:

    1、getInputStream();    //返回Socket接收到的InputStream
    2、getOutputStream(); //返回Socket向外傳輸(另一端為接收)的OutputStream
    3、ServerSocket 的accept() //使服務器處于阻塞狀態,直到客戶端連接

    /*
    *服務器端代碼
    *
    */

    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 Server
    {
        
    public static void main(String[] args)
        {
            
    new Server();
        }

        
    public Server()
        {
            
    try
            {
                ServerSocket ss 
    = new ServerSocket(8888);
                
    while (true)
                {
                    
    // 服務器接收消息
                    Socket s = ss.accept();
                    InputStreamReader isr 
    = new InputStreamReader(s
                            .getInputStream());
                    BufferedReader in 
    = new BufferedReader(isr);
                    String line 
    = in.readLine();
                    System.out.println(
    "Client發送的消息是:  " + line);

                    
    // 把成功信息反饋回客戶端
                    PrintWriter out = new PrintWriter(s.getOutputStream(), true);
                    out.println(
    "已經接受到消息了!");

                    out.close();
                    in.close();
                    isr.close();
                    s.close();
                }
            }
            
    catch (IOException e)
            {
                e.printStackTrace();
            }

        }
    }

    /*
    *
    *客戶端代碼
    */
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.Socket;
    import java.net.UnknownHostException;

    public class Client
    {
        
    public static void main(String[] args)
        {
            
    new Client();
        }

        
    public Client()
        {
            
    try
            {
                System.out.println(
    "正在連接Server中");

                Socket socket 
    = new Socket("localhost"8888);

                System.out.println(
    "連接成功!");
                System.out.println();

                
    // 向服務器發消息
                PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
                BufferedReader br 
    = new BufferedReader(new InputStreamReader(
                        System.in));
                System.out.print(
    "請輸入信息:");
                out.println(br.readLine());

                
    // 接受服務器端消息
                BufferedReader in = new BufferedReader(new InputStreamReader(socket
                        .getInputStream()));
                System.out.println(
    "Server回復的消息:  " + in.readLine());

                br.close();
                out.close();
                in.close();
                socket.close();
            }
            
    catch (UnknownHostException e)
            {
                e.printStackTrace();
            }
            
    catch (IOException e)
            {
                e.printStackTrace();
            }
        }
    }
    posted on 2007-09-15 17:13 Sylar 閱讀(5957) 評論(1)  編輯  收藏 所屬分類: Java基礎類

    Feedback

    # re: Socket編程實現簡單的服務器與客戶端互發消息 2009-07-01 17:06 jadmin
    如果是多個客戶端呢  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 色婷婷六月亚洲综合香蕉| 99ri精品国产亚洲| 国产精品酒店视频免费看| 日韩在线a视频免费播放| 亚洲精品无码久久毛片| 香蕉蕉亚亚洲aav综合| 亚洲免费在线视频播放| 日韩亚洲综合精品国产| 日韩免费电影网站| 在线永久免费的视频草莓| 国产伦精品一区二区三区免费下载| 亚洲成A人片在线观看WWW| 亚洲国产成人AV在线播放 | 亚洲国产成人久久综合一区| 久久精品毛片免费观看| 免费中文字幕在线| 亚洲精品国产日韩| 精品免费视在线观看| 亚洲 另类 无码 在线| 久久久亚洲裙底偷窥综合| rh男男车车的车车免费网站| 久久福利资源网站免费看| 亚洲精品国产精品乱码视色| 无码一区二区三区亚洲人妻| 国产午夜亚洲精品国产成人小说| jiz zz在亚洲| 亚洲乱码国产一区网址| 久久精品视频免费播放| 精品亚洲成A人无码成A在线观看| 久久精品一区二区免费看| 亚洲成a人片在线观看播放| 美女内射无套日韩免费播放| 亚洲人成影院在线无码按摩店| 免费一区二区三区在线视频| 成全视频免费高清| 一区二区三区亚洲| 性做久久久久免费看| 久久午夜免费鲁丝片| 亚洲日本一线产区和二线产区对比| 99久久综合国产精品免费| 亚洲国产夜色在线观看|