閱讀703 返回首頁    go 技術社區[雲棲]


java Socket客戶端和服務器端

客戶端:

package com.lzx.socket;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

import org.xml.sax.InputSource;

public class SocketClient {

	public static void main(String[] args) {
		new SocketClient();
	}
	
	public SocketClient() {
		try {
			Socket socket = new Socket("127.0.0.1", 9999);
			PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
			//接收鍵盤輸入內容
			System.out.println("enter some words : ");
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			String line = reader.readLine();
			out.println(line);
			
			//接收服務器端的數據
			BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
			System.out.println("reply from server : " + in.readLine());
		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}


 服務器:

package com.lzx.socket;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class SocketServer {

	public static void main(String[] args) {
		new SocketServer();
	}
	
	public SocketServer() {
		try {
			ServerSocket serverSocket = new ServerSocket(9999);
			Socket socket = serverSocket.accept();
			String remoteHost = serverSocket.getInetAddress().getHostName();
			int remotePort = serverSocket.getLocalPort();//客戶端端口
			System.out.println("A client come, remoteHost :" + remoteHost + ", remotePort : " + remotePort);
			//接收客戶端的數據
			BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
			System.out.println("received from client : " + reader.readLine());
			
			//回複客戶端
			PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
			out.println("Tanks,I love you!");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}


 

最後更新:2017-04-02 06:52:08

  上一篇:go Android開發:什麼是Parcel(2) .
  下一篇:go object C 數據類型