1 基于Java的Socket编程,实现TCP协议,客户端向服务端发送消息。
2 客户端,将客服端本地文件,上传文件给服务端,并且服务端,将该文件保存于磁盘。
/**
* 1 基于Java的Socket编程,实现TCP协议,客户端向服务端发送消息。
*/
package Day.Day.Day18.HomeWork;
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;
public class Client1 {
public static void main(String[] args) throws IOException {
//1.创建客户端scoket
//2.发送信息
while (true) {
Socket client = new Socket("127.0.0.1", 8888);
OutputStream out = client.getOutputStream();
System.out.println("请输入信息:");
Scanner sc = new Scanner(System.in);
String str = sc.next();
out.write(str.getBytes("utf-8"));
//3.关闭资源
out.close();
client.close();
}
}
}
package Day.Day.Day18.HomeWork;
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 Server1 {
public static void main(String[] args) throws IOException {
//1.创建服务器端socketserver对象
ServerSocket server = new ServerSocket(8888);
System.out.println("服务器已经启动");
//2.接收数据
while (true) {
Socket client = server.accept();
//3.显示数据
InputStream is = client.getInputStream();
InputStreamReader in = new InputStreamReader(is, "utf-8");
BufferedReader br = new BufferedReader(in);
String str = br.readLine();
String ip = client.getInetAddress().getHostName();
System.out.println(ip + ":" + str);
//4.关闭资源
client.close();
}
}
}
/**
* 2 客户端,将客服端本地文件,上传文件给服务端,并且服务端,将该文件保存于磁盘。
*/
package Day.Day.Day18.HomeWork;
import java.io.*;
import java.net.Socket;
public class Client2 {
public static void main(String[] args) throws IOException {
//1.创建客户端
Socket client =new Socket("127.0.0.1",8888);
//2.发送数据
//从电脑磁盘上读取数据
File file=new File("G:/liu/liu.avi");
FileInputStream fis=new FileInputStream(file);
BufferedInputStream in=new BufferedInputStream(fis);
//获取从客户端到服务端的流
OutputStream out=client.getOutputStream();
byte[] buf=new byte[1024];
int len=0;
while((len=in.read(buf,0,buf.length))!=-1){
out.write(buf,0,len);
}
//3.关闭资源
out.close();
in.close();
client.close();
}
}
package Day.Day.Day18.HomeWork;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class Server2 {
public static void main(String[] args) throws IOException {
//1.创建服务器Socket
ServerSocket server=new ServerSocket(8888);
System.out.println("服务器已启动");
//2.接收客户端
Socket client=server.accept();
System.out.println("客户端已经连接");
//3.接收数据
//获取客户端的流
InputStream in=client.getInputStream();
BufferedInputStream bi=new BufferedInputStream(in);
//创建输出文件流
FileOutputStream fos=new FileOutputStream("G:/liu/liu1/liu1.avi");
BufferedOutputStream out=new BufferedOutputStream(fos);
byte[] buf=new byte[1024];
int len=0;
while((len=bi.read(buf,0,buf.length))!=-1){
out.write(buf,0,len);
}
//4.关闭资源
out.close();
bi.close();
client.close();
}
}