使用socket传输文件和图片

工具/原料

  • 电脑
  • 软件

方法/步骤

  1. 1

    1、将一个文本文件由一端传往另一端。

    2、文件接收端接收完毕后,告诉发送端接收完毕,并打印接收文件的内容。

    3、发送端接收并打印接收端发来的信息。

  2. 2

    1、传输文本文件时,使用字符流;传输非文本文件时,使用字节流;

    2、 字符流时建议选择字符缓冲流,BufferedReader、BufferedWriter(PrintWriter功能类似,更加强大,自动写入不需要额外执行flush),因为与Reader/Writer相比,缓冲流将数据写入缓存后一次处理多个数据,而字符流只能单字节处理,读取效率低。

     

  3. 3

    3、 字节流选择同2,也优先选择缓冲流,BufferedInputStream和BufferedOutputStream。注意,即便使用了缓冲流,也需要借助数组byte["数组长度"]来执行读写,因为缓冲流本质也是固定长度的数组(默认8K),文件大小较大时,程序会将超过8k的部分写入硬盘,会造成数据丢失,借助数组byte可以避免该问题。创建socket来完成此操作,发送端作为client,接收端作为server

  4. 4

    1.实现了发送文字聊天 用户上下下线自动更新聊天列表  网页保存聊天记录。

    2.发送文件  最大支持30兆 ,代码中可修改。

     

    3.浏览器通知,https下发送文件的实现思路是在文件前200个字节拼接发送人的信息以及文件名  不够200字节用&填补,后台代码在w3cschool的基础上修改的。

  5. 5

    现在,我们有了WebSocket,他是HTML5的新api。 WebSocket 连接本质上就是一个 TCP 连接,WebSocket会通过http请求建立,建立后的WebSocket会在客户端和服务器端建立一个持久的连接,直到有一方主动的关闭了该连接。所以现在服务器就知道有哪些用户正在连接了,这样通讯就变得相对容易了。

    END

总结

  1. 1

    1、将一个文本文件由一端传往另一端。

    2、文件接收端接收完毕后,告诉发送端接收完毕,并打印接收文件的内容。

    3、发送端接收并打印接收端发来的信息。

    END

注意事项

  • 接收端接收完毕后,告诉发送端接收完毕。
  • 发送端接收并打印接收端发来的信息。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。