简单客户端服务器应用程序中的“ ...目标计算机主动拒绝了...”异常

蒂蒂卡卡勋爵

在构建简单的客户端-服务器应用程序时,我遇到了一个障碍

在环回测试它的功能时,我总是得到

无法建立连接,因为目标计算机主动拒绝它127.0.0.1:6001

这是它放置在主服务器程序中 Task.Run(() => ...)

internal void startListener ()
{
ListenerThread = new Thread(new ThreadStart(socketListener));
ListenerThread.Name = "Listener";
ListenerThread.Priority = ThreadPriority.AboveNormal;
ListenerThread.Start();
ComThreadDictionary.Add(ListenerThread.Name, ListenerThread);
}

        public void socketListener()
        {
            _infrastructure_TcpServerAndClient.CreateNewTcpListenerANDstart();
            while (true)
            {
                _infrastructure_TcpServerAndClient.tcpSocket = await _infrastructure_TcpServerAndClient.peerListener.AcceptSocketAsync();
                byte[] StreamMessage = new byte[9632];

                Thread.Sleep(500);
                try
                {

                    MessageLength = _infrastructure_TcpServerAndClient.GetMessageLength(ref 
                    StreamMessage); 

                }
                catch(Exception ex)
                {

                    //"Remote host disconnected"
                }
                //Do stuff with message...
             }
         }

这就是嵌套在此方法中的内容 CreateNewTcpListenerANDstart()

          CreateNewTcpListenerANDstart()
         {
          peerListener = new TcpListener(IPAddress.Any, ComSettings.Port);
          peerListener.Start();
         }

peerlistener在内部这样声明:_infrastructure_TcpServerAndClient嵌套方法中的公共TcpListener peerListener收集消息

    internal int GetMessageLength(ref byte[] StreamMessage)
    {
        int MessageLength;
        MessageLength = tcpSocket.Receive(StreamMessage, 0, StreamMessage.Length, 
        SocketFlags.None);
        return MessageLength;
    }   

编辑我已经用netcat检查了我的客户端,它可以正常工作,所以这很可能是服务器的故障

EDIT2,问题出在这个函数上_infrastructure_TcpServerAndClient(),当我从中取出所有组件(peerListenr)时,只需将它的base(socketListener())方法都可以正常工作->为什么呢?

蒂蒂卡卡勋爵

好的,所以问题在此函数中非常简单,我在本地操作参数,导致peerListener.Start()只能在本地启动,将Trick更改为静态...

  CreateNewTcpListenerANDstart()
 {
  peerListener = new TcpListener(IPAddress.Any, ComSettings.Port);
  peerListener.Start();
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

MbDotNet Mountebank .Net客户端抛出无法连接,因为目标计算机主动拒绝了它

无法连接到远程服务器:无法建立连接,因为目标计算机主动拒绝了它

ightVNC查看器中的错误无法建立连接,因为目标计算机主动拒绝了它

无法连接到服务器:拨打tcp [:: 1]:8080:connectex:无法建立连接,因为目标计算机主动拒绝了它

SQLSTATE [08001]:[Microsoft] [SQL Server的ODBC驱动程序13] TCP提供程序:无法建立连接,因为目标计算机主动拒绝了它

如何从服务器在客户端计算机中执行Java应用程序?

无法建立连接,因为目标计算机主动拒绝了该连接。(10061)

EmailMultiAlternatives无法建立连接,因为目标计算机主动拒绝了它

Azure IoT中心-无法建立连接,因为目标计算机主动拒绝了它

无法建立连接,因为目标计算机主动拒绝了127.0.0.1

PHP Laravel:无法建立连接,因为目标计算机主动拒绝了它

使用TCPClient类:“无法建立连接,因为目标计算机主动拒绝了它”

Mysql Python Connector无法建立连接,因为目标计算机主动拒绝了它

无法建立连接,因为目标计算机主动拒绝了127.0.0.1:8118

无法建立连接,因为目标计算机主动拒绝了127.0.0.1:25

无法使用本地计算机作为服务器在客户端运行桌面应用程序

WCF引发服务器拒绝客户端凭据的异常,WCF中NetTCP的默认安全模式是什么

方法RSocket服务器异常:没有处理程序目的地“”(目标不通过从客户端到服务器)

Java 客户端-服务器应用程序抛出“java.net.SocketException: Connection reset”异常

无法建立连接,因为目标计算机主动拒绝了该连接[http://127.0.0.1:8000/auth/login]

拨打tcp [:: 1]:6397:connectex:无法建立连接,因为目标计算机主动拒绝了它

SocketException:无法建立连接,因为目标计算机主动拒绝了它XX.XXX.XX.XXX:443

1 PDOException::(“ SQLSTATE [HY000] [2002]无法建立连接,因为目标计算机主动拒绝了它

Visual Studio Azure SQL Server:无法建立连接,因为目标计算机主动拒绝了它

Azure函数BlobTrigger:Microsoft.WindowsAzure.Storage:无法建立连接,因为目标计算机主动拒绝了它

如何解决ConnectionRefusedError:[WinError 10061]目标计算机主动拒绝了它?(Django SMTP)

DJANGO电子邮件确认:[WinError 10061]无法建立连接,因为目标计算机主动拒绝了它

Hasura控制台错误:[...]无法建立连接,因为目标计算机主动拒绝了它

错误:SQLSTATE [HY000] [2002]无法建立连接,因为目标计算机主动拒绝了它