Знаком с траблой. Решил проблему, с помощью обертки.
Если кратко, вызывая у обертки send, первый параметр, роут на сервере. Второй - данные, Третий не обязательный callback функция.
Если есть callback, то на сервер уходят данные, а последний элемент объекта __async с случайным числом. Когда сервер принимает такое сообщение, он выполняет обработку и в ответе добавляет тот-же __async ключ.
Могу дать исходник этой обертки.
В onMessage если есть этот ключ, просматривается список callback`ов на этот ключ. Если ключ есть, то вызывается функция.
Для тех кто говорит, юзайте ajax. А если у человека на основе этого соединения происходит авторизации и все подготовки? В добавок писать 2 разных интерфейса для одного приложения - бред.
@Stricker Я тоже пишу игрушку и уже пробовал ajax`ы и другие вещи. Не делите интерфейс связи сервера и клиента, запутаетесь еще.