C# Wpf按钮激活

xdnvmnnf  于 2022-12-05  发布在  C#
关注(0)|答案(1)|浏览(232)

我正在开发Wpf Socket
仅当IP地址和端口号出现问题时,才会显示消息框。
关闭消息框后,即使输入正确的IP地址和端口号,也无法连接。必须重新启动程序才能连接。我喜欢在不重新启动程序的情况下,尝试通过输入新的IP地址和端口号重新连接

if (socketWatch == null)
        {
            dicScoket = new Dictionary<string, Socket>();
            socketWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream,                                                      ProtocolType.Tcp);
            try
            {
                IPAddress address = IPAddress.Parse(txtIP.Text.Trim());
                IPEndPoint endPoint = new IPEndPoint(address, int.Parse(txtPort.Text.Trim()));
                socketWatch.Bind(endPoint);
                socketWatch.Listen(20);
                Listen();
                Showmsg("Connected!");
                
            }
            catch (Exception error)
            { 
            
                MessageBox.Show(" Error");

关闭messagebox后无法重新连接

dbf7pr2w

dbf7pr2w1#

问题可能出在socketWatch变量上,该变量在尝试连接之前被检查是否为null。该变量在第一次尝试时被初始化,此后始终不是null。请考虑添加

socketWatch.Dispose();
socketWatch = null;

catch区块内。

相关问题