Java網絡編程是Java主要應用的地方,它涉及到多方面的知識。首先我們要明白網絡通信協議,然后是有關IO的知識。由于是初學這部分內容,因此有關Java網絡編程的技術我也不好深入給大家分析。下面我給大家介紹一個基本的網絡程序,要說到網絡編程首先明確,要有一個服務器端和一個用戶端。要實現網絡通信必須得是雙方的事情嗎。
服務器端的編寫:
package com.dr1110;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server1 {
public static void main(String[] args) throws IOException{
ServerSocket ss = new ServerSocket(9999);
while(true){
System.out.println("------------start--------------");
Socket s = ss.accept();
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
System.out.println("客戶端地址:"+s.getInetAddress()+"客戶端端口: "+s.getPort());
dos.writeUTF("服務器端地址:"+s.getLocalAddress().getHostAddress()+"服務器端端口:"+s.getLocalPort());
dos.flush();
dos.close();
s.close();
}
}
}
客戶端的編寫:
package com.dr1110;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.Socket;
public class Client {
public static void main(String [] args){
Socket client = null;
try{
client = new Socket(""localhost"",9999);
}catch(Exception e){}
String str = null;
BufferedReader buf = null;
try{
buf = new BufferedReader(new InputStreamReader(client.getInputStream()));
str = buf.readLine();
}catch(Exception e){}
System.out.println(str);
}
}
當我們在兩臺機子上面分別運行這兩個程序時,就會實現兩臺機子的通信了。在網絡通信中,主要是用到了Socket和ServerSocket這兩個類創建對象。Socket構建一個套接字,用來連接制定的主機和端口。ServerSocket類創建一個服務端套接字,用來監聽制定的端口,入9999。這是有關網絡編程中最簡單的例子了,隨著學習的深入,有關這方面的應用會越來越多。