設計Server端網路程式,等待被Client端連接;設計Client端網路程式,連接Server端。Server端以設定之執行埠(port) 建置伺服平台(ServerSocket),當Client端有訊息來連接時,以連接平台(Socket)之接收功能接受連接,並捉取Client端的網址(IP) 印出之。Client端以Server之網址(IP)、及設定之執行埠(port) 建立網路連接平台,由Client端連接Server端。
java.net.ServerSocket繼承自Object,此類別產生的新物件,可依本機之網址(IP)、與設定之執行埠(port) 建立Server端網站平台(ServerSocket),等待Client端來連接。其中執行埠(port) 不得設定已被使用者(參考附錄D),否則將無法成功建立。
建立ServerSocket網路平台
import java.net.*;
import java.io.*;
class Server11_2 {
public static void main(String args[]) {
try {
ServerSocket SS1 = new ServerSocket(1234);
System.out.println("ServerSocket SS1 is created");
System.out.println("SS1.getLocalPort() = " + SS1.getLocalPort());
SS1.close();
System.out.println("SS1 is closed");
ServerSocket SS2 = new ServerSocket(0, 2);
System.out.println("ServerSocket SS2 is created");
System.out.println("SS2.getLocalPort() = " + SS2.getLocalPort());
SS2.close();
System.out.println("SS1 is closed");
}
catch(IOException e) {
System.out.println(e.getMessage());
}
}
}
開設一個port等待外界傳遞資料進入自己電腦,
利用 Java 的 ServerSocket 元件完成.
其中, 使用 ServerSocket 要在 try-catch中才可以使用.
ServerSocket元件會和兩個方法有關 ( 綁定埠和綁定IP地址)
1. getLocalPort (綁定 埠)
2. getInetAddress (綁定 IP地址)
getLocalPort方法的返回值可分為以下三種情況:
1. ServerSocket 對象未綁定埠, getLocalPort方法的返回值為-1.
2. ServerSocket 對象綁定了一個固定的埠, getLocalPort方法返回這個固定埠.
3. ServerSocket 對象的綁定埠為0, getLocalPort方法返回一個隨機的埠
(這類埠被稱為匿名埠)
http://www.coctec.com/docs/java/show-post-61120.html
針對 ServerSocket 細解解說
http://ephrain.pixnet.net/blog/post/44455544-%5Bandroid%5D-android-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98%EF%BC%9A%E9%96%8B%E5%95%9F%E4%B8%80%E5%80%8B-server-socket
也不錯, 當作理解工具不錯用.
這裡開設了兩個Server port, 分別是 1234 跟 56769
是(0,2)輸出 56769
而(0,3)輸出 57136
port - the port number, or 0 to use a port number that is automatically allocated.
backlog - requested maximum length of the queue of incoming connections.
public ServerSocket(int port) throws IOException
public ServerSocket(int port, int backlog) throws IOException
由 java 網站得知 https://docs.oracle.com/javase/7/docs/api/java/net/ServerSocket.html等到更熟練之後在來寫個自己看得懂的版本.
範例來源:
Java系列概論
網路入門程式
Java System Concepts and Network Programming
賈蓉生 胡大源 林金池 編著
查一下 是由東方設計學院 提供在網路上的
沒有留言:
張貼留言