У меня ошибка, я не уверен, как решить при попытке запустить файл .exe в удаленной системе:

C:\Users\Administrator\Desktop\PSTools>PsExec.exe \\172.19.15.50 -u doctor -p doctor "C:\Program Files\AppG\App.exe"

PsExec v2.2 - Execute processes remotely
Copyright (C) 2001-2016 Mark Russinovich
Sysinternals - www.sysinternals.com



Unhandled Exception: System.Net.Sockets.SocketException: Only one usage of 
each socket address (protocol/network address/port) is normally permitted
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress 
socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at System.Net.Sockets.TcpListener.Start(Int32 backlog)
at System.Net.Sockets.TcpListener.Start()
at AppG.CLI.TelnetServer.ListenForClients()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, 
ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
C:\Program Files\AppG\App.exe exited on 172.19.15.50 with error 
code -532459699.

C:\Users\Administrator\Desktop\PSTools>

Еще одна ошибка, которую я получаю:

Found 1 matching device [ Vendor ID 0x10EE, Device ID 0x7 ]:

1. Vendor ID: 0x10EE, Device ID: 0x7


WARNING!!!
----------
Your hardware has level sensitive interrupts.

Interrupts
-----------

Found 1 matching device [ Vendor ID 0x10EE, Device ID 0x7 ]:

1. Vendor ID: 0x10EE, Device ID: 0x7

Кто-нибудь знает, как решить эту проблему, пожалуйста?

1 ответ1

0

Проблема заключается в том, что связанный порт не освобождается.

Я вижу две возможности:

  • Программа App.exe застревает на завершении и блокирует любой новый вызов самого себя.
    Единственное решение - убить его с помощью taskkill , подождать несколько минут и начать заново. Период ожидания может быть сокращен, как описано ниже.

  • Windows поддерживает работоспособность связанного сокета, чтобы другая сторона могла выполнить любую отправляемую им посылку. Это связано с тем, что в TCP нет механизма уведомления устройства на другой стороне соединения о том, что соединение было разорвано.

    Решение состоит в том, чтобы установить в реестре по ключу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters запись DWORD TcpTimedWaitDelay на количество секунд, в течение которых Windows будет ждать, прежде чем другой процесс сможет привязаться к тому же порту TCP. По умолчанию установлено значение 120, что означает 2 минуты, и вы можете установить его на любое низкое значение (ноль не рекомендуется). Этот параметр влияет только на Windows, а не на другое устройство.

    Для получения дополнительной информации см. Параметры, которые можно изменить для повышения производительности сети.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .