我正在开发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后无法重新连接
1条答案
按热度按时间dbf7pr2w1#
问题可能出在
socketWatch
变量上,该变量在尝试连接之前被检查是否为null
。该变量在第一次尝试时被初始化,此后始终不是null
。请考虑添加在
catch
区块内。