TCP-сокет: несколько разных клиент-серверных соединений в одной локальной сети конфликтуют друг с другом - PullRequest
0 голосов
/ 25 октября 2019

Я написал код передачи файла сокета TCP в Java. Каждое устройство, на котором выполняется код, действует как сервер, а также как клиент.

При этом возникает проблема.

  1. Когда приложение запускается, сокет сервера запускается в фоновом режиме, чтобыполучать запросы на подключение. Когда соединение установлено, он создает другой поток для обработки этого соединения и снова начинает прослушивать другие соединения.
  2. Если клиент хочет отправить файлы на сокет сервера. Сначала он пингует сеть, чтобы найти доступные устройства, и отображает их в списке. После выбора доступного сокет-сервера из списка клиент отправляет запрос на передачу файла, а сервер получает его, а затем получает имена файлов и размеры файлов от клиента, чтобы начать передачу файла на другой порт.
  3. Проблема, которая возникает здесь, когда происходит передача, и какой-то другой клиентский сокет пытается передать файлы на другой сервер в сети, приложение перестает работать, поэтому два сеанса передачи не работают параллельно в одной локальной сети.

Пожалуйста, поделитесь, что проблема может быть причиной этого в сокетах.

...