Java semaphore server able to interact with clients from different programming languages running on different machines