天天看點

S/C的通信基礎(雙向傳輸)

java  S/C的通信基礎(雙向傳輸)

伺服器<——————>用戶端(雙向傳輸)

//伺服器端 package servertoclient.twoline;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintStream;

import java.net.ServerSocket;

import java.net.Socket;

import java.util.Scanner;

public class ServerToClientTwoLine {

public static void main(String[] args) {

ServerSocket server = null;

PrintStream out = null;

BufferedReader in=null;

try {

server=new ServerSocket(38002);

Socket s=server.accept();

System.out.println("Server OK");

in=new BufferedReader(new InputStreamReader(s.getInputStream()));

out=new PrintStream(s.getOutputStream(),true);

while(true)

{

String inString=in.readLine();

System.out.println("Client說:"+inString);

System.out.println("請輸入要發送到用戶端的資料:");

Scanner scanner=new Scanner(System.in);

String line=scanner.next();

out.println(line);  

}

} catch (IOException e) {

e.printStackTrace();

}finally

{

try {

in.close();

out.close();

server.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

//用戶端

package servertoclient.twoline;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintStream;

import java.net.Socket;

import java.net.UnknownHostException;

import java.util.Scanner;

public class Client {

public static void main(String[] args) {

Socket socket=null;

BufferedReader  in=null;

PrintStream out=null;

try {

socket=new Socket("127.0.0.1",38002);

out=new PrintStream(socket.getOutputStream(),true);

in=new BufferedReader (new InputStreamReader(socket.getInputStream()));

while(true)

{

System.out.println("請輸入發送到伺服器的資料:");

//不斷讀取鍵盤的輸入  

Scanner scanner=new Scanner(System.in);

String line= scanner.next();

    out.println(line);  

String instring=in.readLine();

System.out.println("Server說:"+instring);

}

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

finally{

try {

in.close();

out.close();

socket.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}