未处System.StackOverflowException 确保程序没有无限循环或无线递归
我想在form2点击一个按钮的时候form1显示form2隐藏,然后关闭form1的时候form2也同时关闭,而且窗体form1需要用到form2窗体中的client_Socket; server_Socket;,所以我在form1中声明了form2 的实例,可调试的时候出问题了
this.Close();
}
private void ListenNow()
{
server_Socket =new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 8090);
server_Socket.Bind(ipep);
server_Socket.Listen(10);
client_Socket = server_Socket.Accept();
}
private void button2_Click(object sender, EventArgs e)
{
IPAddress remoteIp;
try //如果输入的ip地址不合法,则会引发此异常
{
remoteIp = IPAddress.Parse(remIp.Text);
client_Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint ipep = new IPEndPoint(remoteIp, 8090);//远程主机ip和端口号
//客户端,不需要绑定
try
{
client_Socket.Connect(ipep); //连接服务器端,用于传送棋子坐标和文本消息
}
catch
{
MessageBox.Show("无法与远程主机取得连接,请检查ip地址是否正确或稍后再试!您也可以直接创建游戏!");
}
}
catch
{
MessageBox.Show("您输入的ip地址不正确!");
}
}
}
}