SocketException при удаленном соединении

Апплет коннектится с сервером (на сервере тоже java-программа).

Локально (на одной машине или в локальной сети) все замечательно.

Удаленно - ServerSocket.accept() отрабатывает нормально, но при первой же передаче данных происходит SocketException (именно при приеме их на сервере, апплет передает эти данные нормально).

Иногда все работает и удаленно, но очень редко.

Может, дело в каких-нибудь тайм-аутах? Какова их величина по умолчанию?

Кстати, эксэпшн вылетает практически сразу как только апплет посылает сообщение (т.е. если там и тайм-аут, то уж очень быстрый).