src
: папка для хранения исходных кодов.lib
: папка для хранения зависимостей.vscode с расширениями Java на jdk11.
com.rftx.auth
предоставляет интерфейс аутентификации и метод TokenAuthentication по умолчанию для создания соединения.com.rftx.conn
содержит обработчик control conn и обработчик transfer conn.com.rftx.core
включает RFTXServer и RFTXClient.com.rftx.exception
— классы исключений.com.rftx.listener
— интерфейсы прослушивателя событий, которые могут быть реализованы вызывающей стороной.com.rftx.util
— классы инструментов.com.rftx.test
— тесты.com.rftx.core.RFTXHost
определяет объект RFTX host. Объект RFTXHost необходим независимо от того, является ли вызывающий объект сервером, клиентом или и тем, и другим. RFTXHost хранит все управляющие соединения и передающие соединения, принятые RFTXServer
или созданные RFTXClient
.com.rftx.core.RFTXServer
определяет программу RFTX server, которая содержится в объекте RFTXHost
и создаётся указанным методом. RFTXServer — это поток, который принимает соединения блокирующим образом и сохраняет соединения в списке соединений ArrayList объекта RFTXHost
.com.rftx.core.RFTXClient
определяет клиентскую программу RFTX, которая содержится в RFTXHost
и создана указанным методом; RFTXClient
содержит метод connect(String addr, int port)
, который используется для подключения программы RFTXServer, запущенной на указанном порту указанного адреса.Объект RFTXHost содержит объекты RFTXServer и RFTXClient. Вызываются конкретные методы для инициализации двух объектов. RFTXHost содержит три списка Connection ArrayLists, в которых хранятся Control Conns, Transfer Conns и Unknown Conns. В объекте rftxhost, независимо от того, создано ли соединение rftxclient или принято rftxserver, оно будет сохранено в соответствующем списке. Это означает, что соединения, управляемые rftxserver и rftxclient в одном и том же rftxhost, являются общими.
Обычно в программе требуется создать только один объект RFTXHost.
RFTXHost host=new RFTXHost("hostName");//Создать объект RFTXHost с именем hostname
Предположим, что определён объект host:RFTXHost (это необходимо).
host.initServer(3000);//Открыть порт 3000 на этом хосте в качестве служебного порта RFTXServer. Пожалуйста, убедитесь, что указанный порт этого хоста доступен извне
host.getAuthenticator.addValidToken("tester","TestToken");//Добавить действительный токен с именем tester и значением TestToken
host.server.start();//Вызвать этот метод, чтобы запустить поток слушателя для RFTXServer
— Можно добавить любое количество легальных токенов. Когда клиент подключается, токен подключения клиента отправляется для аутентификации.
— Базовая программа использует HashMap для хранения действительного токена, что означает, что одновременно может существовать только один действительный токен с тем же именем.
Предположим, что определён объект host:RFTXHost (и это необходимо).
host.initClient();//Инициализируем объект клиента в объекте хоста
host.getAuthenticator().setConnToken("TestToken");//Устанавливаем токен, используемый для подключения клиента, в «TestToken»
host.client.connect("testserver.ts",3000);//Используем объект клиента для подключения к порту 3000 сервера (адрес: testserver.ts)
На данный момент нет метода удаления объекта lient в объекте host. Если токен соединения не установлен или установленный токен не включён в список токенов противоположного RFTXServer, соединение будет автоматически разорвано сразу после установления соединения.
host.post(String peerName, String taskToken, String localFile, String remoteFile);
peerName — предоставляет имя хоста однорангового узла для установки цели. taskToken — токен задачи этой задачи публикации. localFile — локальный файл, файл для отправки. remoteFile — удалённый файл, путь сохранения и имя файла на узле.
Например:
host.post("testServer","taskToken000","product/jar/rftx.jar","receive/rftx-lib.jar")
host.get(String peerName, String taskToken, String localFile, String remoteFile);
peerName — предоставить имя хоста узла источника для установки исходного хоста. taskToken — токен задачи этого задания получения. localFile — путь хранения полученного файла, расположенный локально. remoteFile — путь и имя файла узла.
Например:
host.get("testServer","taskToken000","product/jar/rftx.jar","receive/rftx-lib.jar")
Примечание: в двух методах порядок локального файла и удалённого файла одинаков. Пожалуйста, различайте исходный файл и целевой файл.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )