Несколько вариантов здесь:
Merapi (локальный сервер сокетов, написанный на Java)
Создание собственного сокет-сервера с нуля
Написать Java-апплет и использовать ExternalInterface для связи в обоих направлениях
Я не использовал # 1, но слышал хорошие слова об этом. № 2, очевидно, много работы, учитывая, что № 1 уже доступен для вас. В любом случае, конечный пользователь должен установить сервер сокетов, что может быть проблематично.
Я сделал # 3, и на самом деле это работало довольно хорошо в этом приложении. Это ограничит вас в некоторой степени с точки зрения типов данных, которые вы можете отправить. Однако, если апплет подписан / доверен, я думаю, что вы могли бы фактически открыть его локальным сервером сокетов, как Merapi.