第一個TCP程序:通過ServerSocket類及socket完成一個服務器的程序開發,此服務器向客戶端發送字符串“Hello World”的信息。
服務器端的開發代碼如下:
import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.rmi.server.ServerCloneException;
public class server {
public static void main(String[] args) throws IOException {//所有異常拋出
ServerSocket serverSocket=null;//聲明ServerSocket對象
Socket client=null;//一個socket對象代表一個客戶端
PrintStream out=null;//聲明打印流對象,向客戶端輸出
serverSocket=new ServerSocket(8888);//此服務器在8888端口上等待客戶端的訪問
System.out.println("服務器正在運行,等待連接客戶端");
client=serverSocket.accept();//程序阻塞
String str="Hello world";//向客戶端輸出的信息
out=new PrintStream(client.getOutputStream());//
out.print(str);
Out.close();//關閉打印流
Client.close();//關閉客戶端連接
Server.close();//關閉服務器
}
}
客戶端開發代碼:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Socket;
public class sxxas {
public static void main(String[] args) throws IOException {
Socket client=new Socket("localhost",8888);//聲明socket對象,指定連接的主機和接口
BufferedReader bufferedReader=new BufferedReader(
new InputStreamReader(
client.getInputStream()));//聲明BufferedReader對象,接受信息
//取得客戶端的輸入流
String string =bufferedReader.readLine();//讀取信息
System.out.println("服務器端輸出的內容是:"+string);
client.close();//關閉socket
bufferedReader.close();//關閉輸入流
}
}