通过WebSocket传输文件
服务器端侦听某端口,接受WebSocket请求,后面可用nginx作反向代理,外部看到的将是80端口 客户端连接服务器的WebSocket地址,连接成功后,首先传送一个NEW_FILE的数据包,里面带上要传输的文件名 服务器端收到NEW_FILE包后,解析出文件名,并创建目标文件,再回复ACK_NEW_FILE的数据包 客户端收到ACK_NEW_FILE的数据包后,检查回应的code,如是成功码,则启动一个线程,该线程负责将源文件的数据封装成多个FILE_DATA数据包,传送这些FILE_DATA数据至服务器端 服务器端接收FILE_DATA数据包,解析出里面的文件数据,将文件数据写入文件 客户端发送完源文件数据后,再传送一个FILE_END数据包,该文件包中带上源文件的MD5值 服务器端收到FILE_END数据包后,比对源文件的MD5值与目标文件的MD5值,如相同,则认为传输成功,并返回ACK_FILE_END数据包,里面带上成功码 客户端收到ACK_FILE_END数据包,检查回应的code,如是成功码,则认为传输成功,否则认为传输失败。
