|
|
我刚开始接触网络编程,现在在看一个采集程序,大体过程如下:
begin
获取本机ip
loop
登陆远端服务器( 申请SOCKET 套接字,转换成internet,超时处理,发送用户名密码)
获取服务器文件列表(改变传输模式为A,设置为pasv,列表,写列表文件)
采集文件(改变传输模式为I,采集文件)
休眠
end loop
end
这个程序有好几个执行码在同时运行,但是目标服务器不同,在实际运行过程中,经常会有改变传输模式错误的消息,或者是连接服务器超时,但是手动连接服务器完全正常。
经过调试发现传输模式告警发生在采集文件那个过程。我现在很困惑造成这个告警的原因有哪些呢?
另外,每次循环都重新登陆服务器,然后重复进行下面的过程会不会有影响?我对这些传输机制都不是很熟,猜想问题出在这里,每次都重新登陆,然后设置为pasv(查了一下是让服务器监听等待客户机的消息),
然后服务器会占用这个端口等待,那么下一次循环如果又是从这个端口登陆,两者就可能冲突。不知道这样想对不对,请教一下大家。 |
|