Как класс создания сокета TCP может получить уведомление о том, что один новый узел добавлен в реестр? - PullRequest
0 голосов
/ 17 декабря 2011

Я внедряю P2P-сервис. Идея заключается в использовании UDP для поиска пиров и создания собственного реестра. И с помощью TCP, чтобы сделать реальное общение. Я хочу создать еще одно новое соединение через сокет TCP, если есть еще один узел, добавленный в реестр этого узла. Реестр реализован в hashmap.
Как класс создания сокета TCP может получить уведомление о том, что в реестр добавлен один новый узел?

1 Ответ

3 голосов
/ 17 декабря 2011

Просто реализуйте класс, такой как 'TcpConnectionManager', который регистрируется в реестре - давайте назовем его 'P2PConnectionRegistry' при запуске. (Реестр должен быть классом, поддерживающим HashMap - он не может быть HashMap.).

Если необходимо создать новое соединение, вы вызываете p2pConnRegistry.addConnection (...); откуда-то (например, пользовательский интерфейс).

Этот метод добавляет необходимые параметры в свою внутреннюю структуру данных (например, HashMap) - и затем вызывает registryListener.connectionAdded (...); Этот RegistryListener является экземпляром TcpConnectionManager.

Это очень простая модель для "разделения интересов".

Надеюсь, это был твой вопрос, это помогает, привет, Michael

...