First, being disappointed that dealing with 10.000 concurrent connections, opened in 1 second, with both the client and the server on localhost is a bit harsh, don’t you think?
Then, “Connection refused” means exactly what it states: that the server (Play) couldn’t keep up with the client (Gatling).
Finally, note that both Play and Gatling use the same underlying NIO engine (Netty 3).
Totally agree with Stéphane - establishing 10.000 connections in 1 second is rough stuff for a windows machine - a device like f5 bigip would probably handle this better.