When you close a port, it goes into TIME_WAIT
for a little while to make sure that no more traffic will show up from the other end. It can live in that state for anywhere from seconds to minutes, depending on the implementation.
It'll eventually work out, but you're putting a great deal of overhead on the server and the client this way. If a lot of clients do this, you can definitely overwhelm the server.
You should not poll a server with a new connection every second. You should hold open one connection and listen on it for new messages from the sever (this is usually called a "long poll"). Or you can reuse the connection with HTTP/1.1. In any case, if you're going this deep into networking, you almost always will want to switch from NSURLConnection
to AFNetworking which has better support for managing these kinds of connections.