Mark-
Members-
Content Count
247 -
Joined
-
Last visited
-
Days Won
1
Everything posted by Mark-
-
When I set the port to 0 and call "Start" the port number does not change. Perhaps I am doing something wrong.
-
I am the client (program) and server (a service) on the same computer. I do not want to use a fixed port, to avoid conflicts. When the service starts it would open the port (wanting any free port number) and save the port number to a file the client reads when it starts.
-
Hello, Using cellular, depending on many factors, I can get many 500 error codes that abort the transfer. I am using FtpClient.Transmit; with binary, passive. What is the correct way to "resume" the transfer? Thanks, Mark
-
Thanks. Without a doubt it does not work here without me calling CWD after logon. Is CWDAsync used? I ask because this is testing on cellular. If I call CWDAsync after logon no change, file is uploaded to root. If I call CWD, the file is uploaded to the correct path.
-
> I've not used FtpUpOneFile myself for many years, it was written for another client and worked in their circumstance, need to test it. Very good.
-
If I call CWD after logon and before FtpUpOneFile, the files upload to the correct paths. Perhaps I am not setting a property correctly or at all. Or calling CWD first is by design.
-
Hello, OK I spoke too soon and I cannot locate my error. I am using FtpUpOneFile. The source path is OK The filename is OK The target path is '/public_html/downloads/'. All the files are being placed at the root, '/'. I set the TarDir and SrcDir before calling logon. and the FtpUpOneFile is correct. I see "fServRootDir" is '/'. I see PWD and DirResult is '/'. I see fServBaseDir and fCurRemDir both being set to '/public_html/downloads/'. In IntUpOne , HostDirName := '/' ; Not sure it is relevant. Then Put is called and the file uploads to the root. These are the same paths used before switching to FtpUpOneFile. What am I doing wrong/missing? Thanks, Mark
-
Thanks Angus, François and all the contributors. Using the example, I was able to replace the TFtpClient with TIcsFtpMulti and watch the FTP resume when the transfer failed from the server returning an error or loss of connection. I used the single file, FtpUpOneFile function. Cheers, Mark
-
Thank you, I will look into it.
-
Hello, Never used multicast before and not having success. I must send a request to a device at 192.168.1.51 port 1500 using UDP. The device will begin multicasting data on address 224.0.0.0 port 1500. I send the request and I see the device sending the data on Wireshark. I just do not get any OnDataAvaliable calls. I set the TWSocket as: multiSocket.Proto:='udp'; multiSocket.Addr:='192.168.8.169'; //nic to bind to multiSocket.Port:=portNum; //1500 multiSocket.MultiCast:=true; multiSocket.MultiCastAddrStr:='224.0.0.0'; //this is the dst address I see in wireshark, //tried the sender ip address and got error IP_ADD_MEMBERSHIP ; multiSocket.ReuseAddr:=true; multiSocket.Listen; No error, no data. I can configure the multicast address on the device. Should the address be changed? What am I doing wrong? Thanks, Mark
-
Resolved. W10 Firewall was allowing outgoing but not incoming.
-
Hello, Can the ICS logger log all data sent/received? All "LogOptions" enabled, no data bytes. TIcsLoggerVersion = 840; Thanks, Mark
-
Thanks for the reply. It actually was a logic mistake in the OnDataAvailable event handler In the event I only read the data to a buffer, check a few things and then possibly post a message for handling, then exit. The issue was a message was posted when it should not have been. I have to thank W10 Pro 32 bit for exposing the issue. Why the three other test operating systems did not expose the issue,.. not sure. The code had been running for years. Perhaps the mistake surfaced because the OS and program were running in a VM.
-
Thanks for the answer. That was the conclusion I came to looking around in code. I am using TWSocket and I have created a bunch of generic logging code before so I will copy/paste/modify to get some data logging with DoDebugLog. The logging is only temporary. The problem. Using Wireshark the data from/to the sending and receiving computers match. The program works on W7 32 bit and 64 bit. The program works on W10 64 bit. The program has what appears to be data stream corruption issues on W10 32 bit. The data in Wireshark is correct. No development tools on W10 32 bit so I thought logging the stream from TWSocket.DataAvaliable would at least tell me the problem was before or after this event. All binary data and I am not using NativeInt. The packet size is < 200 bytes. Mark