public class TcpServer{
public static void main(String[] args) throws Exception {
// 创建接收的套接字对象
ServerSocket ss = new ServerSocket(8989);
while (true) {
// 获取传过来的对象
final Socket s = ss.accept();
new Thread(new Runnable() {
public void run() {
try {
// 跟据对象获取输入流;
InputStream in = s.getInputStream();
// 获取IP保存图片名字
String ip = s.getInetAddress().getHostName();
System.out.println(ip + "客户点连接上");
// 定一个变量让名字以序号的形式保存
int name = 1;
// 创建保存文件的对象
File file = new File("E:/" + ip + ".bmp");
// 判断文件是否存在,避免覆盖文件
while (file.exists()) {
file = new File("E:/" + ip + "(" + name + ")"
+ ".bmp");
name++;
}
// 创建本地字节输出流
FileOutputStream fos = new FileOutputStream(file);
byte[] buf = new byte[1024];
int len = 0;
while ((len = in.read(buf)) != -1) {
fos.write(buf, 0, len);
}
fos.close();
System.out.println("服务器数据保存成功");
// 给客户端返回信息
OutputStream sou = s.getOutputStream();
sou.write("服务器接收到文件".getBytes());
s.close();
} catch (Exception e) {
System.out.println("上传文件异常");
}
}
}).start();
}
}
}
TCP小练习2
最新推荐文章于 2021-07-16 15:16:42 发布