JAVA TCP/IP 同步傳遞訊息 初步 學習

來源:互聯網
上載者:User

 

TCPServer.java:

import java.net.*; // TCP/IP Socket編程所用包
import java.io.*;

public class TCPServer{
    public static void main( String[] args ) throws Exception {
        ServerSocket ss = new ServerSocket(6666); // 新申請一個sever的連接埠, 一般用1024以上,因為之下的可能會被系統隨時調用.
        while(true){
            Socket s = ss.accept(); // 插口接受資訊. 是阻塞方式的, 如果沒有就會一直等待
            // 得非同步方式的來做, 否則這樣的話 就會浪費時間
            System.out.println("A client connected!");
            InputStream is = s.getInputStream(); // 接受訊息
            DataInputStream dis = new DataInputStream(is);
            System.out.println(dis.readUTF());  // 列印從用戶端發來的訊息, 當然readUTF也是阻塞式的, 沒有則一直等待.
          // readUTF 是阻塞式的..
          dis.close(); // 關閉資料輸入流
          s.close();   // 關閉當前的連接埠..
        }
    }
}

 

TCPCllient.java:

import java.net.*;
import java.io.*;

public class TCPClient {
    public static void main( String[] args ) throws Exception{
        Socket s = new Socket("127.0.0.1", 6666);
        // Socket(String host, int port); server的ip, 和對應的連接埠號碼. 以區分具體主機上的某個程式..

        // 資料出處, 從連接埠的outputstream上向外送資料
        OutputStream os = s.getOutputStream();
        //Thread.sleep(30000); // 這個為了測試, readUTF是阻塞式的
        DataOutputStream dos = new DataOutputStream(os);
        dos.writeUTF("hello server!");
        dos.flush();
        dos.close();
        s.close();
    }
}

 

JAVA已經提供了非同步式的TCP/IP編程. 這個是同步方式的. 簡單的基礎的通訊..聊以參考.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.