It depends on what you want to test.
JMeter will let you test the client-server traffic and server behaviour under load. But you will have to code the tcp protocol for example if it's one like that (or http protocol ). It really depends on what kind of client server protocol your application, but if it's a binary based protocol then you will need to code or find a plugin that does the encoding/decoding.
Other test tool use a window capture based testing approach which can capture the location of clicks, this ca make them support more protocols as they just rely on client capture but can make scenarios less stable in time if for example button position moves. But sometimes you don't have the choice.