TCP小练习2


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();
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值