Welcome to the Faster TCP home page
Two components, TFasterTCPServer and TFasterTCPClient. These components have help file working in Delphi IDE by pressing the F1-key. Also source is included.
Compatibility with Delphi 2-7 or C++ Builder 1/3/4/5. Not tested on other than Delphi though. Might or might not work on C++ Builder. Compiler doesn't say it can't work.
Feel free to write something in my guestbook about the web page or the component or something else you want to let me and others know. Try to keep off-topic messages to minimum though =)
View my guestbook
Download:
Download at
http://geocities.com/jyrki86/files/fastertcp-111final.zip
KOL version at
http://geocities.com/jyrki86/files/kolfastertcp-111final.zip
Demo projects:
Download VCL Faster TCP Demo1 at
http://geocities.com/jyrki86/files/fastertcp-demo1---11-12-2007.zip
KOL version at
http://geocities.com/jyrki86/files/kolfastertcp-demo1---11-12-2007.zip
Download VCL Faster TCP Demo2 at
http://geocities.com/jyrki86/files/fastertcp-demo2---11-12-2007.zip
KOL version at
http://geocities.com/jyrki86/files/kolfastertcp-demo2---11-12-2007.zip
Changes:
28-03-2009
-
Removed reference to PacketLists-unit in 32-bit package. This unit haven't been used since version 1.09.
05-03-2008 Version 1.11 Final:
-
Some functionality on Client-to-Client communication was found lacking so I added a few events and functions that might prove useful. Changes are as follows:
-
GetLocalIPs function added. This function will list all IP addresses assigned for the computer.
-
OnNameListReceived event added to Client. Parameter contains a list of users' names currently online.
-
OnAClientJoin event added to Client. Parameter contains username of Client who connected to server.
-
OnAClientLeave event added to Client. Parameter contains username of Client who disconnected from server.
-
ClientStatusUpdate property added to Server. This property maintains the way the above events get fired and the list of usernames passed in OnNameListReceived.
-
AllowSameUserNames is now false by default.
-
Loops using list of clients connected are now optimized for better performance.
-
OnPacketFromClient event added to Client. This allows sending data from client to another client.
-
SendToClient function added to Client. This allows sending data from client to another client.
-
Minor fixes to help files. Also the new functionality is covered in help files as well.
13-12-2007 Version 1.10 Final:
-
Well, seems like 1.09 wasn't going to be final version after all. Although it worked fine, I found ways to optimize performance. The version 1.09 works fine as it is but here is the optimized version. Changes are as follows:
-
SendPacketTo no longer buffers packet and gives it to SendBuffer. Instead is writes it directly to sending buffer and calls flush.
-
SendStreamTo no longer buffers stream and gives it to SendBuffer. Instead is writes it directly to sending buffer and calls flush.
-
ReceiveStreamFrom no longer buffers incoming data and writes it to receiving buffer. Instead it writes it directly to receiving buffer.
-
SendStreamTo didn't raise exception if you tried to send 0 bytes. Now it does.
-
Server didn't free memory of serverclients when listen was set to false but application was not terminated. Now fixed.
11-12-2007 Version 1.09 Final:
-
This will likely be the last update for this component pack. I was finally able to get rid of any connection problems I had earlier (like when sending file, connection sometimes got stuck). This I was able to do by creating buffers for sending and receiving data. That is not all of the fixes though so here is a complete list of changes(some things not directly affecting the way you use the components might not be listed):
-
SendCustomPacketEx no longer frees pointer memory!!
-
SendPacketTo no longer frees pointer memory and last parameter is thus removed
-
SendCommand no longer takes the last Immediately parameter
-
SendCustomPacket no longer frees pointer memory and last parameter is thus removed
-
ReceiveFrom can no longer be forced to receive all available data by calling recv in loop
-
ReceiveStreamFrom had not been updated to match the receivebuffer in earlier version (bug). It is now fixed.
-
Send no longer returns bytes sent
-
SendCustomPacket no longer returns bytes sent
-
SendCustomPacketEx no longer returns bytes sent
-
Immediately words removed from debug code
-
New send buffer added. Now both all send functions and receive functions are properly buffered.
-
Data will be sent from sending buffer using a timer if all data can't be sent at once.
-
PacketLists were not used for many versions and have now been properly left out. Also all commented out code for packetlists have been removed
-
Demo projects have been updated for D7. Help files and new versions of Faster TCP have been posted.
-
D3 demo projects have been removed. If you want to use the units on older delphi versions, you might get error about wrong file format. This is caused by the line ending characters changing in the newer versions. So just copy-paste code from .pas files to a .pas file you created and you are good to go. If your delphi version does not support the package format, you can always create a package for Faster TCP yourself.
23-07-2007 Version 1.08:
-
The created buffer will now be cleared on client-side too when connection is lost. Also small upgrades to debug-information in KOL-version.
19-07-2007 Version 1.07:
-
There has been now created a new receiving-buffer that stores all loaded data. This will allow the program to continue normally while data is being transferred.
18-07-2007 Version 1.06:
-
The data transfer had difficulties when network traffic was high and it was possible for the connection to get jammed. This has been fixed by forcing the program to wait until packet is fully received before continueing. If the packet can't be received, the program will continue to work normally.
-
Fixed a bug in NewStreamComing at Client-side when using 64-bit streams.
22-02-2007 Version 1.05:
-
The SendPacketTo()-function was finally optimized to not double allocate memory. As this was one of the most used functions of FasterTCP, I decided to run a few tests. I was able to get 10% speed increase in my small test program using this new version.
12-12-2006 Small compatibility updates on VCL demos:
-
There was unnecessary SendPacketsImmediately property in the form files. Also the demos were run with INT64_STREAMS defined on test and while compiling would show error about wrong parameters for some events. (Int64 parameters would need to be replaced with Longint) These are now fixed. D3-versions are not modified yet.
30-11-2006 Kol-version 1.04-2:
-
Fixed a bug from Kol-version that happened in the copying of memorystream data to another, as KOL-library does not have its own copyfrom()-function.
29-11-2006 Kol-version 1.04-1:
-
Fixed a few bugs from Kol version 1.04 that were left after converting the changes from VCL version to Kol version.
24-11-2006 Version 1.04:
-
Added packetslicer to both VCL and KOL version. This will help recovering from high traffic where clients could have two or more packets on line while one is being processed (depends on programming style). This is to fix the possible situation caused by the change in data-receiving rutines in version 1.03. If you are using this component in high traffic environment, I suggest you update to this version.
20-10-2006 Version 1.03:
-
Fixed an issue with connection getting lost and OnDisconnected-event + OnClientDisconnected-event not getting fired.
-
Added much more debugging code to both versions.
-
Send(), SendCustomPacket() and SendCustomPacketEx() now return the bytes sent. Updated to help files.
-
Release version 1.03. Added version number to file also. I suggest all download this update.
20-10-2006:
-
I have got an e-mail concerning an issue with connection getting lose sometimes and started investigating it. I found out that indeed the error was in code ( sorry people =). I will post the fix and update help files ASAP. If you find any bugs or odd behaviour caused by this component, please e-mail me about it.
17-3-2006:
-
Updated the help files. They didn't tell that SendCustomPacketEx frees the Data-pointer automatically.
-
Disabled DEPRECATED warnings so they wouldn't scare people.
-
Because the packets are sent immediately, code handling packetlists and SendPacketsImmediately were commented out.
-
Broadcast and BroadCastStream were using double buffers while only 1 was needed. Removed one buffer to make code faster and save some memory (very little).
-
I got no ideas of what to do now. If you got a good idea, feel free to tell me. I am not going to add HTTP GET like functionaly for this component though. There is already one good component for that at UtilMind's website.
7-3-2006:
-
Updated the KOL help file a little.
6-3-2006:
-
Removed my own stringlists from KOL version. The 2.33 KOL version's stringlists seemed to work without errors in Win98.
-
Added the demos converted to D3.
7-2-2006
-
Removed some constant marks from both VCL and KOL version, you don't need to update the source though. It doesn't affect the way it works now in any way.
-
Converted the VCL help file to a KOL help file. The VCL help file is now replaced with KOL help file in the KOL-version. Minor changes to VCL help file.
-
Two new demos. One for VCL and one for KOL.
6-2-2006:
-
Release of FasterTCP. The mSimpleTCP2 is now old and have been replaced with FasterTCP. Future releases will happen for FasterTCP only.
-
Released demos for the components. One for VCL and one for KOL version.
Bugs
...empty...
To be done
...empty...
About
I take e-mail at koppis01[@]luukku.com (Remove the brackets "[" "]"), if someone is interested and wants to report bugs or send other mail. If you also got a very good idea of how to improve these components, feel free to send it. I use limited time on developing these components so not all ideas will be fulfilled though, but feel free to try.
This mail-box is reserved for only FasterTCP including mail. Please include the word "FasterTCP" in your message subject or your e-mail will propably be removed by spam-filter.
But please, don't ask how to use the components. That have been told in the help file and more info you can find from the Internet Forums. If the help file is missing some important information, feel free to notify me though. I would be glad to know of any missing information.
And please don't ask questions about how to use the KOL-version. I am not an expert when it comes to KOL-library.
I'm currently developing another project on my free time at
http://kuzin-online.zzl.org/anime_theater_home.php. If you are into Anime, feel free to pay a visit.