Test01:
// 客户端:多次发送数据
// 服务器:多次接收数据
Client端
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;
public class Client {
public static void main(String[] args) throws IOException {
// 客户端:多次发送数据
// 服务器:多次接收数据
// 1.创建Socket对象并连接服务器端
Socket socket = new Socket("127.0.0.1",8080);
// 2.写出数据
Scanner sc = new Scanner(System.in);
OutputStream os = socket.getOutputStream();
while (true) {
System.out.println("请输入您想要发送的信息");
String s = sc.nextLine();
if ("886".equals(s)){
break;
}
os.write(s.getBytes());
}
// 3.释放资源
socket.close();
}
}
Service
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws IOException {
// 客户端:多次发送数据
// 服务器:多次接收数据
// 创建ServerSocket对象,绑定端口搞
ServerSocket ss = new ServerSocket(8080);
// 等待客户端来连接
Socket accept = ss.accept();
// 读取数据
BufferedReader br = new BufferedReader(new InputStreamReader(accept.getInputStream()));
int b ;
while ((b = br.read()) != -1){
System.out.print((char)b);
}
// 释放资源
accept.close();//关闭连接通道
ss.close();//关闭服务器
}
}
Test02
// 客户端:发哦是那个一条数据,接收服务器反馈的消息并打印
// 服务器:接收数据并反馈给客户端消息
Client端
package mysocketnet.Test02;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("127.0.0.1", 8080);
String str = "见到你很高兴!";
OutputStream os = socket.getOutputStream();
os.write(str.getBytes());
// 写出一个结束标记
socket.shutdownOutput();
InputStreamReader is = new InputStreamReader(socket.getInputStream());
int b;
while ((b = is.read()) != -1) {
System.out.print((char)b);
}
// 释放资源
socket.close();
}
}
Service
package mysocketnet.Test02;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws IOException {
// 客户端:发哦是那个一条数据,接收服务器反馈的消息并打印
// 服务器:接收数据并反馈给客户端消息
ServerSocket ss = new ServerSocket(8080);
Socket s= ss.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
int b ;
while ((b = br.read()) != -1) {
System.out.print((char) b);
}
// 回写数据
String str = "me too";
OutputStream os = s.getOutputStream();
os.write(str.getBytes());
// 释放资源
os.close();
ss.close();
}
}
Test03
// 客户端:将本地文件上传到服务器。
// 服务器:接收客户端上传到文件,传完之后给出反馈
Client端
package mysocketnet.Test03;
import java.io.*;
import java.net.Socket;
public class Client {
public static void main(String[] args) throws IOException {
// 客户端:将本地文件上传到服务器。
// 服务器:接收客户端上传到文件,传完之后给出反馈
// 创建Socket对象
Socket socket = new Socket("127.0.0.1",1000);
// 读取本地文件中的数据,并写到服务器当中
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("C:\\Users\\15199\\Desktop\\a.png"));
BufferedOutputStream bos = new BufferedOutputStream(socket.getOutputStream());
byte[] bytes = new byte[1024];
int b;
while ((b = bis.read(bytes)) != -1){
bos.write(bytes,0,b);
}
// 服务器结束标记
socket.shutdownOutput();
// 接受服务器的回写数据
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String str = br.readLine();
System.out.println(str);
// 释放资源
}
}
Server
package mysocketnet.Test03;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws IOException {
// 客户端:将本地文件上传到服务器。
// 服务器:接收客户端上传到文件,传完之后给出反馈
// 创建对象绑定端口号
ServerSocket ss = new ServerSocket(1000);
// 等待客户端来连接
Socket accept = ss.accept();
// 读取数据保存到本地
BufferedInputStream bis = new BufferedInputStream(accept.getInputStream());
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("a.png"));
int b;
byte [] bytes = new byte[1024];
while ((b = bis.read(bytes)) != -1) {
bos.write(bytes, 0, b);
}
// 回写数据
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(accept.getOutputStream()));
bw.write("上传成功");
bw.flush();
bw.close();
// 释放资源
accept.close();
}
}