Java如何實現簡單后臺訪問并獲取IP
后臺服務端
import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket; public class Server { public static void main(String[] args) throws IOException { ServerSocket s = new ServerSocket(1122);//服務器端口號 Socket ss = s.accept();// 獲取IP訪問者IP地址 String cip = ss.getInetAddress().getHostAddress();// 接收信息獲取訪問姓名身份同時向訪問者問好 String msg = String.format('%s:Hellosn', 'wo', cip); OutputStream os = ss.getOutputStream(); PrintWriter out = new PrintWriter(os); out.write(msg); out.flush(); System.out.println('有人連線了: ' + cip);// 讀取信息 InputStream is = ss.getInputStream(); System.out.println(new String(is.readAllBytes())); System.out.println(ss.isConnected()); os.close(); }}
客戶端
import java.io.*;import java.net.Socket;public class Client { public static void main(String[] args) throws IOException { Socket client = new Socket('192.168.1.16', 1122);//服務器端口號1122,IP也可以自定義訪問也可以在IP那里輸入localhost訪問本機 if (client.isConnected()) {// 接收信息 InputStream is = client.getInputStream(); BufferedReader br=new BufferedReader(new InputStreamReader(is)); System.out.println(br.readLine());//向服務器發送個人信息 String msg = '學生:xxxrn';//名字可以定義 OutputStream os = client.getOutputStream(); os.write(msg.getBytes()); os.flush(); System.out.println(client.isConnected()); System.out.println(client.isClosed()); is.close(); os.close(); } }}
后臺接收的信息
客戶端接收的信息
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
