EDIT: The EA servers are back up and I have a solution. It involves ECN.
Read this (From EA forums)
I fixed this problem by turning off ECN (explicit congestion notification) It's only in Vista and Windows 7, and it defaults to off, so if you haven't turned it on then it's not your problem. To turn it off type cmd in the search bar, right click it and run as administrator then type "netsh interface tcp set global ecncapability=disabled" (without quotes) and hit enter. It should say "Ok." Then you can exit the command line and the game should work fine. If you haven't turned ECN on then I've also heard of people getting this problem from programs like peerguardian blocking ports.
netsh interface tcp set global ecncapability=disabled
Copy this ^
Open Start Menu, Search "CMD", run it as administrator and paste this, then press enter. It should say "Ok."
That solved it for me, it was never off in the first place so it definitely has something to do with my new router/gateway.