C FTP实现:每次关闭数据套接字
我正在用c实现一种FTP协议 我有一台服务器正在运行。 我启动客户端,连接到服务器,然后发送一个C FTP实现:每次关闭数据套接字,c,sockets,ftp,C,Sockets,Ftp,我正在用c实现一种FTP协议 我有一台服务器正在运行。 我启动客户端,连接到服务器,然后发送一个GET file.txt请求。 客户端解析该命令,查看它是GET命令并启动服务器套接字。 服务器接收到该命令,并启动与客户端的数据连接,并在此连接上开始发送file.txt 服务器发送文件时,会关闭客户端套接字(数据) 当我想获取另一个文件时,该端口已在使用中。我怎样才能防止这种情况?我应该为所有命令连接会话保持数据连接打开吗?在这种情况下,我的客户如何知道文件何时结束 谢谢当套接字关闭时,它将进入时
GET file.txt
请求。
客户端解析该命令,查看它是GET命令并启动服务器套接字。
服务器接收到该命令,并启动与客户端的数据连接,并在此连接上开始发送file.txt
服务器发送文件时,会关闭客户端套接字(数据)
当我想获取另一个文件时,该端口已在使用中。我怎样才能防止这种情况?我应该为所有命令连接会话保持数据连接打开吗?在这种情况下,我的客户如何知道文件何时结束
谢谢当套接字关闭时,它将进入
时间等待
状态(),并且在套接字离开时间等待
并处于关闭
状态之前,其他套接字不能绑定到同一地址/端口对
您可以通过设置
SO\u REUSEADDR
socket选项来解决这个问题,如果其中一个套接字处于TIME WAIT
状态,那么将允许两个套接字绑定到同一地址。当套接字关闭时,它将进入TIME WAIT
状态()并且,在套接字离开时间等待
并处于关闭
状态之前,不能将其他套接字绑定到同一地址/端口对
您可以通过设置
SO\u REUSEADDR
socket选项来解决这个问题,如果其中一个套接字处于TIME WAIT
状态,那么将允许两个套接字绑定到同一地址。当套接字关闭时,它将进入TIME WAIT
状态()并且,在套接字离开时间等待
并处于关闭
状态之前,不能将其他套接字绑定到同一地址/端口对
您可以通过设置
SO\u REUSEADDR
socket选项来解决这个问题,如果其中一个套接字处于TIME WAIT
状态,那么将允许两个套接字绑定到同一地址。当套接字关闭时,它将进入TIME WAIT
状态()并且,在套接字离开时间等待
并处于关闭
状态之前,不能将其他套接字绑定到同一地址/端口对
您可以通过设置
SO\u REUSEADDR
套接字选项来解决这个问题,如果其中一个套接字处于时间等待
状态,则允许将两个套接字绑定到同一地址。您需要每次打开套接字进行传输,因为传输完成后服务器将关闭它。
通过读取FTP服务器对状态代码(226或250)的响应,您将知道该文件已下载/上载-FTP服务器返回代码检查列表:
每次传输都需要打开套接字,因为传输完成后服务器会将其关闭。 通过读取FTP服务器对状态代码(226或250)的响应,您将知道该文件已下载/上载-FTP服务器返回代码检查列表:
每次传输都需要打开套接字,因为传输完成后服务器会将其关闭。 通过读取FTP服务器对状态代码(226或250)的响应,您将知道该文件已下载/上载-FTP服务器返回代码检查列表:
每次传输都需要打开套接字,因为传输完成后服务器会将其关闭。 通过读取FTP服务器对状态代码(226或250)的响应,您将知道该文件已下载/上载-FTP服务器返回代码检查列表:
在我的项目中,我使用apache commons net, 只需使用heartbeat命令保持命令连接的活动状态, 每次进行文件传输时,请进入本地被动模式。 这一原则同样适用于您的情况,我建议您发送
EPSV
获取file.txt之前的命令
请参阅:在我的项目中,我使用apache commons net, 只需使用heartbeat命令保持命令连接的活动状态, 每次进行文件传输时,请进入本地被动模式。 这一原则同样适用于您的情况,我建议您发送
EPSV
获取file.txt之前的命令
请参阅:在我的项目中,我使用apache commons net, 只需使用heartbeat命令保持命令连接的活动状态, 每次进行文件传输时,请进入本地被动模式。 这一原则同样适用于您的情况,我建议您发送
EPSV
获取file.txt之前的命令
请参阅:在我的项目中,我使用apache commons net, 只需使用heartbeat命令保持命令连接的活动状态, 每次进行文件传输时,请进入本地被动模式。 这一原则同样适用于您的情况,我建议您发送
EPSV
获取file.txt之前的命令
参考:这是ftp使用的方式吗?@FedericoPonzi我其实不知道,但这似乎合乎逻辑。它通常用于所有被动(监听)套接字。这是ftp使用的方式吗?@FedericoPonzi实际上不知道,但似乎合乎逻辑。它通常用于所有被动(监听)套接字。这是ftp使用的方式吗?@FedericoPonzi实际上不知道,但似乎合乎逻辑。它通常用于所有被动(监听)套接字。这是ftp使用的方式吗?@FedericoPonzi实际上不知道,但似乎合乎逻辑。它通常用于所有被动(监听)插座。