1、 在服务端开放两个端口,一个的作用是监听命令,另外的一个用来进行文件数据的传输。 2、 客户端与服务端的监听端口连接,发送测试连接命令,检查服务端是否正常运行。如果正常转入第三步,否则或者终止本次对话,或者重新连接并检查。 3、 服务端通过命令端口向客户端发送确认信息,通知客户端服务正常运行,并通过检查本地的一些设置来判断是否可以向客户端发送文件,如果可以转到下一步,否则将错误的原因通过命令端口发送到客户端,停止该次会话,客户端通过接收到的信息做出相应的处理,或者终止所有的动作,或者重试。 4、 服务端将本地开放的用来传输文件的端口号发送给客户端,然后客户端通过Socket连接服务端的端口,同时客户端回自动随机选取一个端口与服务端的端口连接。(因为一般来说,服务端的端口应该是固定的。而且,在使用Socket连接的时候,服务端的端口是固定的,而客户端的端口是在连接的过程中随机选取的。如果让服务端连接客户端的话,一方面在服务端需要开发过多的端口,选取端口的过程也是非常麻烦的;另一方面客户端可能会有很多的限制,需要根据不同的情况进行设置) 5、 通过文件传输端口将文件传送给客户端。 6、 在传送的时候,如果是大文件,一般要将其分割成小块来传送,因为在传送的过程中,数据都是会存放在内存中的,如果是对于每一个文件都整个放到内存中,很快就会造成内存的溢出。 7、 另外还可以开多个进程同时下载,这个时候并不会因为采用了同一个端口而出现问题,因为在同一个端口里面有许多通道,每一个文件传输都是通过通道来完成的,互相不会出现干扰。
类FTP文件传输机制
最新推荐文章于 2024-06-24 16:25:03 发布