Q-1)当两个端点之间建立连接时,我必须将“lab2”可见性设置为true。但是,当我运行代码它已经可见。如何获取有关两个端点在Socket中成功连接状态的通知?
@ -2)我想在发生任何错误时重试连接。但是,在重试其显示错误[在PresentationFramework.dll中发生'System.InvalidOperationException'类型的未处理异常]的5 - 6次“main.Owner = this;”之后,
请帮忙!
public MainWindow()
{
InitializeComponent();
sck = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
sck.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
connect();
}
public void connect()
{
try
{
epLocal = new IPEndPoint(IPAddress.Parse("192.168.1.10"), 1400);
sck.Bind(epLocal);
epRemote = new IPEndPoint(IPAddress.Parse("192.168.1.20"),1500);
sck.Connect(epRemote);
buffer = new byte[1500];
sck.BeginReceiveFrom(buffer, 0, buffer.Length, SocketFlags.None, ref epRemote, new AsyncCallback(MessageCallBack), buffer);
lab2.Visibility = Visibility.Visible;
}
catch
{
test();
}
}
private void test()
{
timer.Tick += new EventHandler(timer_Tick);
timer.Interval = new TimeSpan(0, 0, 5);
timer.Start();
}
private void timer_Tick(object sender, EventArgs e)
{
MainWindow main = new MainWindow();
main.Owner = this;
}
嘿托尼m对不起WPF新。在MyviewModel和PropertyMetaData中出现错误,名称空间的类型不存在。 – Antisan
可见性=“{绑定IsConnected,转换器= {StaticResource BoolToVisible}}”...和我控制台的属性改变它呢? – Antisan
将“MyViewModel”替换为代码所在的对象的类名称。类型名称是“PropertyMetadata”。我将更正我的回答中的拼写 –