##編寫javaSocket編程的幾種結構java
Java網絡編程主要使用java.net包編程
##執行演示網絡代碼的時候,要先運行服務端,再運行客戶端。服務器
###服務端:網絡
public class TCPserver{ static void print(String str){ System.out.println(str); } public static void main(String[]args){ print("服務器開啓成功!"); java.net.ServerSocket server; java.net.Socket client; try{ server=new java.net.ServerSocket(5555); // while(true){ client=server.accept(); print("一個客戶端鏈接成功!"); //接受客戶端的信息 java.io.DataInputStream dis=new java.io.DataInputStream(client.getInputStream()); String str= dis.readUTF(); print(str); //給客戶端發送信息! java.io.DataOutputStream dos=new java.io.DataOutputStream(client.getOutputStream()); dos.writeUTF("你鏈接成功了!"); dis.close(); dos.close(); client.close(); print("客戶端斷開鏈接!"); // } }catch(java.io.IOException ex){ ex.printStackTrace(); } } }
###客戶端多線程
public class TCPclient{ static void print(String str){ System.out.println(str); } public static void main(String[] args) { print("客戶端開啓成功!"); try{ java.net.Socket client=new java.net.Socket("127.0.0.1",5555); print("客戶端鏈接成功!"); String str=javax.swing.JOptionPane.showInputDialog(null,"請輸入您要發送的內容!","提示",0); //給服務端發送信息 java.io.DataOutputStream dos=new java.io.DataOutputStream(client.getOutputStream()); dos.writeUTF(str); //接受服務端的信息 java.io.DataInputStream dis=new java.io.DataInputStream(client.getInputStream()); print(dis.readUTF()); dos.close(); dis.close(); client.close(); print("客戶端鏈接斷開!"); } catch(java.io.IOException ex){ ex.printStackTrace(); } } }