您的位置:首页 > 理论基础 > 计算机网络

27-网络编程-18-网络编程(TCP协议-练习-上传图片服务端)

2015-08-11 17:29 495 查看
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是将读取到的客户端数据写入到本地文件中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: