Я использую TcpListener
в приложении Windows Forms; с кнопкой «Пуск», запускающей TcpListener
. Однако, когда я нажимаю кнопку запуска, возникает следующее исключение:
Запрошенный адрес недействителен в своем контексте
Это код, который я использую для запуска слушателя:
IPAddress FriendIp = IPAddress.Parse(IpAddress);
server = new TcpListener(FriendIp, PortNum);
server.Start();
Это стек вызовов исключения:
System.dll!System.Net.Sockets.Socket.DoBind(System.Net.EndPoint endPointSnapshot, System.Net.SocketAddress socketAddress) + 0x9f bytes
System.dll!System.Net.Sockets.Socket.Bind(System.Net.EndPoint localEP) + 0xd2 bytes
System.dll!System.Net.Sockets.TcpListener.Start(int backlog) + 0x91 bytes
System.dll!System.Net.Sockets.TcpListener.Start() + 0xa bytes
Гарольд и Спендер правы, TcpListener может связываться только с локальным IP-адресом на машине, на которой он создан.
System.Windows.Forms.dll! System.Windows.Forms.ListBox.WndProc (см. System.Windows .Forms.Message m) + 0x2c9 байтов System.Windows.Forms.dll! System.Windows.Forms.Control.ControlNativeWindow.OnMessage (ref System.Windows.Forms.Message m) + 0x13 байтов
System.Windows.Forms .dll! System.Windows.Forms.Control.ControlNativeWindow.WndProc (ref System.Windows.Forms.Message m) + 0x31 байт
System.Windows.Forms.dll! System.Windows.Forms.NativeWindow.DebuggableCallback (System .IntPtr hWnd, int msg, System.IntPtr wparam, System.IntPtr lparam) + 0x64 байта [переход от собственного к управляемому]
[от управляемого к собственному переходу ition]
System.Windows.Forms.dll! System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop (System.IntPtr dwComponentID, int reason, int pvLoopData by) + 0x br> System.Windows.Forms.dll! System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner (int причина, контекст System.Windows.Forms.ApplicationContext) + 0x16c байтов
System.Windows.Forms.dll! System. Windows.Forms.Application.ThreadContext.RunMessageLoop (int причина, контекст System.Windows.Forms.ApplicationContext) + 0x61 байт
System.Windows.Forms.dll! System.Windows.Forms.Application.Run (System.Windows. Forms.Form mainForm) + 0x31 байт
BlueBall.exe! BlueBall.Program.Main () Строка 18 + 0x1d байт C # [Переход от собственного к управляемому]
[От управляемого к собственному переходу]
mscorlib.dll! System.AppDomain.ExecuteAssembly (строка assemblyFile, System.Security.Policy.Evidence assemblySecurity, строка [] ar gs) + 0x6d байтов
Microsoft.VisualStudio.HostingProcess.Utilities.dll! Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly () + 0x2a байтов
mscorlib.dll! System.Threading.ThreadHelper.ThreadStart_Context (состояние объекта) + 0x63 байтов
mscorlib.dll! System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, обратного вызова System.Threading.ContextCallback, состояние объекта, bool ignoreSyncCtx) + 0xb0 байтов
mscorlib.dll! System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext ExecutionContext, обратный вызов System.Threading.ContextCallback, состояние объекта) + 0x2c байтов
mscorlib.dll! System.Threading.ThreadHelper.ThreadStart () + 0x44 байта
[Переход от собственного к управляемому] - person Jonathan Dickinson   schedule 17.10.2011