Look below for the actual server and client communication. The client can't run on it's own, but the important part is figuring out why the server can get positions so quickly, but they can't be sent back to the clients with as much speed.

Hello. I've recently gone through the Java networking trail and a few other networking tutorials, and I'm starting to get a decent grasp on it, so I went right ahead and made myself a multiplayer game for LAN (because I don't know how to connect over internet yet) but now I have some optimization questions, because my server is sending clients the integers which represent the positions of other clients way too slowly to be acceptable.

I'll be playing this barebones version of my game and checking my command prompt (windows) to watch the coords of my character or another get updated, but I notice that it's at least 20 seconds after when I stopped moving that the coordinates finally catch up, and more depending on how much I move. It's upacceptable for a multiplayer game.

I'll post a SSCCE (which will just be the source code of it all wrapped up in a ZIP file anyway, because there's no way to take any of this out), and I was hoping one of you kind people could help me work my way through this nasty slowness, and thank you everyone who looks at this, even if you don't come up with any solutions for me :)

No one seems to want to go through all of my code to see what's really there, so I'll post this here as a follow-up. Maybe people will actually try to help when there's not so much to look at and it's not a download. Anyway, I'll start posting direct server to client code that I wrote. The actual game isn't important. Here comes the server code. This class can be skipped over if you only want to look at direct communication.

Right here is the ServerThread class. It does the actual communication between the client and the server, and the server's only purpose is to put all the data together into one ArrayList package, update all threads with that arraylist, and accept and disconnect clients.

Here's the client. Know that in my game I have a util timer scheduling this code to be run once every 250 seconds, but it gets scheduled after scheduling another TimerTask which give the player's current positions to the client, and then the client sends them to the server and gets an arraylist back of all player coordinates.
The Client: