Comments (2)
Found the problem:
In "stream" mode (which is the default setting afaik) a data socket can only be used for a single e.g. RETR
. Afterwards it sends 226
and closes itself. dataSocket.isConnected
then still returns true
but another RETR
only returns 0 bytes, use dataSocket.remoteConnectionClosed
instead to check.
To download multiple files open a new data socket with a new passive connection for every file:
Login + connect cmdSocket
cmdSocket send: CWD myFolder
cmdSocket receive: 250 CWD command successful
cmdSocket send: TYPE I
cmdSocket receive: 200 Type set to I
Loop through all the files
cmdSocket send: PASV
cmdSocket receive: 227 Entering Passive Mode
Connect dataSocket to Passive Mode IP/port
cmdSocket send: RETR myFileX
cmdSocket receive: Either "150 Downloading in BINARY file" or "125 Data connection already open; Transfer starting"
dataSocket: Receive data with "read(into data: inout Data)" & write it to the "Documents" folder
cmdSocket receive: 226 Transfer complete
Close the dataSocket (not sure if still necessary)
from bluesocket.
@Nathipha Thanks for updating with your resolution.
from bluesocket.
Related Issues (20)
- Socket listen failed on iOS 14.0.1 HOT 7
- Is it possible observe connection with client? HOT 1
- Error code: -9980(0x-26FC), No route to host HOT 12
- 'listen' function unable to bind address HOT 2
- Swift bluesocket Can't get long data ? HOT 18
- Warnings in Xcode 13 HOT 10
- Cannot connect to listening UNIX socket HOT 6
- Error code: -9993(0x-2709), Invalid argument HOT 6
- Get local IP address HOT 1
- Echoserver and JavaScript HOT 3
- Can not receive tcp packets in hotspot HOT 1
- Tcp Incomplete receiving data HOT 1
- Unable to detect closed socket HOT 3
- Incompatible with swift-argument-parser v1.0.0+ HOT 9
- is there any other
- Reading Less than SOCKET_MINIMUM_READ_BUFFER_SIZE? HOT 1
- A shell task failed with exit code 72 HOT 1
- Task failed with exit code 70
- Postman can not connect to the Example EchoServer
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bluesocket.