您的位置:首页 > 理论基础 > 计算机网络

【Java网络编程】Socket的使用

2016-04-03 16:32 609 查看

1. Server.java

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 Server {

public static void main(String[] args) {
BufferedReader br = null;
PrintWriter pw = null;
try {
ServerSocket server = new ServerSocket(2000);
Socket socket = server.accept();
br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
pw = new PrintWriter(socket.getOutputStream(), true);
while(true){
String s = br.readLine();
if(s.trim().equals("exit")){
pw.println("granted");
break;
}
pw.println("Server:\t" + s);
}
server.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
br.close();
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}


2. Client.java

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;

public class Client {

public static void main(String[] args) {
BufferedReader br = null;
PrintWriter pw = null;
try {
Socket socket = new Socket("localhost", 2000);
br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
pw = new PrintWriter(socket.getOutputStream(), true);
pw.println("Hello!");
Scanner scan = new Scanner(System.in);
String s;
while(true){
s = null;
while(true){
s = br.readLine();
if(s != null)
break;
}
if(s.trim().endsWith("granted"))
break;
System.out.println(s);
System.out.print("Client:\t");
s = scan.nextLine();
pw.println(s);
}
scan.close();
socket.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
br.close();
pw.close();
} catch (Exception e2) {
}
}
}
}


3. snapshot of output.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: