01、黑马词霸
客户端
import java.io.*;
import java.net.Socket;
public class ClientDemo {
public static void main(String[] args) throws IOException {
System.out.println("客户端");
String word = "java";
Socket clinetSocket = new Socket("192.168.25.75", 8888);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(clinetSocket.getOutputStream()));
bw.write(word);
bw.newLine();
bw.flush();
BufferedReader br = new BufferedReader(new InputStreamReader(clinetSocket.getInputStream()));
String value = br.readLine();
System.out.println("【服务器说】" + value);
br.close();
bw.close();
clinetSocket.close();
}
}
服务端
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.HashMap;
import java.util.Map;
public class ServerDemo {
public static void main(String[] args) throws IOException{
Map<String,String> map = new HashMap<>();
map.put("hello","雷浩啊");
map.put("world","世界");
map.put("niubi","牛掰");
System.out.println("服务端开启鸟!~~");
ServerSocket serverSocket = new ServerSocket(8888);
Socket clientSocket = serverSocket.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String word = br.readLine();
String value = map.get(word);
if(value == null){
value = "服务器正在升级维护当中...无法匹配";
}
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream()));
bw.write(value);
bw.newLine();
bw.flush();
bw.close();
br.close();
clientSocket.close();
}
}
02、图片上传(多线程版本)
客户端
import java.io.*;
import java.net.Socket;
public class UploadClinetDemo {
public static void main(String[] args) throws IOException{
System.out.println("客户端");
FileInputStream fis = new FileInputStream("day11-classCode\\客户端硬盘\\真帅.PNG");
Socket clientSocket = new Socket("192.168.25.75",10086);
OutputStream os = clientSocket.getOutputStream();
int len;
byte[] buff = new byte[1024];
while((len = fis.read(buff))!=-1){
os.write(buff,0,len);
}
clientSocket.shutdownOutput();
BufferedReader br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String ss = br.readLine();
System.out.println(ss);
br.close();
os.close();
fis.close();
clientSocket.close();
}
}
服务端
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class UploadServerDemo {
public static void main(String[] args) throws IOException {
System.out.println("服务器开启鸟!~~");
ServerSocket serverSocket = new ServerSocket(10086);
while (true) {
Socket clientSocket = serverSocket.accept();
new Thread(()->{
try {
method(clientSocket);
} catch (IOException e) {
e.printStackTrace();
}
}).start();
}
}
public static void method(Socket clientSocket) throws IOException {
InputStream is = clientSocket.getInputStream();
String address = clientSocket.getInetAddress().getHostAddress();
System.out.println(address);
long time = System.currentTimeMillis();
String name = "day11-classCode\\服务端硬盘\\" + time + ".PNG";
FileOutputStream fos = new FileOutputStream(name);
int len;
byte[] buff = new byte[1024];
while ((len = is.read(buff)) != -1) {
fos.write(buff, 0, len);
}
System.out.println("上传图片成功");
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream()));
bw.write(name + "文件上传成功!");
bw.newLine();
bw.flush();
bw.close();
is.close();
fos.close();
clientSocket.close();
}
}