package test;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class UploadServerOfPhoto {
public static void main(String[] args) throws IOException {
//1.建立服务端ServerSocket对象
ServerSocket ss = new ServerSocket(10006);
//2.获取客户端Socket对象
Socket s = ss.accept();
String ip = s.getInetAddress().getHostAddress();//获取客户端ip地址
System.out.println(ip+"......connected");
//3.获取Socket输入流,将客户端数据输入到服务端
InputStream in = s.getInputStream();
//4.将读取到的数据存储到文件中
File dir = new File("c:\\pic");
if(!dir.exists())
dir.mkdirs();
File file = new File(dir,ip+".bmp");//将客户端发来的数据存储到dir目录中,所以服务端生成的文件是ip.bmp
FileOutputStream fos = new FileOutputStream(file);
byte[] bufIn = new byte[1024];
int lenIn = 0;
while((lenIn=in.read(bufIn))!=-1){
fos.write(bufIn,0,lenIn);
}
//5.反馈“上传成功”信息给客户端
OutputStream out = s.getOutputStream();
out.write("上传成功!!!".getBytes());
//6.关闭资源
fos.close();
s.close();
ss.close();
}
}
//【注】程序中in是读取客户端out过来的数据,fos是将读取到的客户端数据写入到本地文件中
27-网络编程-18-网络编程(TCP协议-练习-上传图片服务端)
最新推荐文章于 2022-07-22 16:59:35 发布