使用socket传输文件和图片
工具/原料
- 电脑
- 软件
方法/步骤
- 1
1、将一个文本文件由一端传往另一端。
2、文件接收端接收完毕后,告诉发送端接收完毕,并打印接收文件的内容。
3、发送端接收并打印接收端发来的信息。
- 2
1、传输文本文件时,使用字符流;传输非文本文件时,使用字节流;
2、 字符流时建议选择字符缓冲流,BufferedReader、BufferedWriter(PrintWriter功能类似,更加强大,自动写入不需要额外执行flush),因为与Reader/Writer相比,缓冲流将数据写入缓存后一次处理多个数据,而字符流只能单字节处理,读取效率低。
- 3
3、 字节流选择同2,也优先选择缓冲流,BufferedInputStream和BufferedOutputStream。注意,即便使用了缓冲流,也需要借助数组byte["数组长度"]来执行读写,因为缓冲流本质也是固定长度的数组(默认8K),文件大小较大时,程序会将超过8k的部分写入硬盘,会造成数据丢失,借助数组byte可以避免该问题。创建socket来完成此操作,发送端作为client,接收端作为server
- 4
1.实现了发送文字聊天 用户上下下线自动更新聊天列表 网页保存聊天记录。
2.发送文件 最大支持30兆 ,代码中可修改。
3.浏览器通知,https下发送文件的实现思路是在文件前200个字节拼接发送人的信息以及文件名 不够200字节用&填补,后台代码在w3cschool的基础上修改的。
- 5
现在,我们有了WebSocket,他是HTML5的新api。 WebSocket 连接本质上就是一个 TCP 连接,WebSocket会通过http请求建立,建立后的WebSocket会在客户端和服务器端建立一个持久的连接,直到有一方主动的关闭了该连接。所以现在服务器就知道有哪些用户正在连接了,这样通讯就变得相对容易了。
END
总结
- 1
1、将一个文本文件由一端传往另一端。
2、文件接收端接收完毕后,告诉发送端接收完毕,并打印接收文件的内容。
3、发送端接收并打印接收端发来的信息。
END
注意事项
- 接收端接收完毕后,告诉发送端接收完毕。
- 发送端接收并打印接收端发来的信息。