网络编程
Socket连接客户端和服务器
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class Client {
public static void main(String[] args) {
try {
Socket s = new Socket("LocalHost",8080);
System.out.println("客户端已开启");
InputStream in = s.getInputStream();
InputStreamReader reader = new InputStreamReader(in);
BufferedReader br = new BufferedReader(reader);
OutputStream out = s.getOutputStream();
OutputStreamWriter writer = new OutputStreamWriter(out);
BufferedWriter bw = new BufferedWriter(writer);
Scanner scanner = new Scanner(System.in);
while(true){
String t = scanner.next();
bw.write(t+"\n");
bw.flush();
if(t.equals(".")){
System.out.println("连接结束");
s.close();
break;
}
String k = br.readLine();
if(k.equals(".")){
System.out.println("连接结束");
s.close();
break;
}
System.out.println("服务器:"+ k);
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class Server {
public static void main(String[] args) {
try {
ServerSocket ss = new ServerSocket(8080);
System.out.println("服务器已开启");
Socket socket = ss.accept();
InputStream in = socket.getInputStream();
InputStreamReader reader = new InputStreamReader(in);
BufferedReader br = new BufferedReader(reader);
OutputStream out = socket.getOutputStream();
OutputStreamWriter writer = new OutputStreamWriter(out);
BufferedWriter bw = new BufferedWriter(writer);
Scanner scanner = new Scanner(System.in);
while(true){
String t2 = br.readLine();
if(t2.equals(".")){
System.out.println("连接结束");
socket.close();
break;
}
System.out.println("客户端:"+t2);
String t = scanner.next();
bw.write(t+"\n");
bw.flush();
if(t.equals(".")){
System.out.println("连接结束");
socket.close();
break;
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
运行结果: