Я использовал для приложения привязку приложений к Delphi, и я обнаружил, что это кажется ошибкой. Попытка подключения двух приложений в одной сети на двух ПК с несколькими intefaces (адаптеры VirtualBox или VMware) не работает. Я попытался использовать целевой параметр в AutoConnect или DiscoverManagers, но они не могли соединиться или подключиться. Кажется, что адаптер в TTetheringManager привязан к неправильному сетевому адаптеру, и клиент не может открыть этот менеджер. Есть идеи?. Я использую Delphi Seattle.Delphi tethering с несколькими сетевыми адаптерами
3
A
ответ
0
Я знаю, что это не лучшее решение, но работало со мной.
Я создал новое свойство в классе TTetheringManager:
...
private
FServerAddress: string;
...
public
property ServerAddress: string read FServerAddress write FServerAddress;
...
Затем я изменил следующий метод:
function TTetheringManagerCommunicationThread.CreateManagerInfo(const AIdentifier, AName, AText,
AConnectionString: string; AVersion: Integer): TTetheringManagerInfo;
begin
Result.ManagerIdentifier := AIdentifier;
Result.ManagerName := AName;
Result.ManagerText := AText;
Result.ConnectionString := AConnectionString;
Result.Version := AVersion;
if (Trim(FAdapter.Manager.FServerAddress) <> '') then
begin
FAdapter.FAdapterConnectionString := Copy(FAdapter.FAdapterConnectionString, Pos('$', FAdapter.FAdapterConnectionString), Length(FAdapter.FAdapterConnectionString));
FAdapter.FAdapterConnectionString := FAdapter.Manager.ServerAddress + FAdapter.FAdapterConnectionString;
end;
Result.Adapter := FAdapter;
end;
Итак, я установил свойство АдресСервера перед тем, чтобы включить TetheringManager.
Я надеюсь помочь.