У меня есть программа с сокетом для чата. Эта программа создает проблемы, если закрывается при подключении со стороны client . Я ищу способ сервера автоматически дождаться, пока программа переподключится .
Этот код Socket Wait
private async void OnWindowLoaded(object sender, EventArgs e)
{
await Task.Run(() => {
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint serv = new IPEndPoint(IPAddress.Parse(Properties.Settings.Default.IP),
Properties.Settings.Default.Port);
sock.Bind(serv);
while (true)
{
sock.Listen(5);
cli = sock.Accept();
}
});
}
Этот код получения
private Task<string> DoWork()
{
return Task.Run(() =>
{
try
{
byte[] datass = new byte[1024];
rec = cli.Receive(datass);
recc = Environment.NewLine + (Encoding.ASCII.GetString(datass, 0, rec));
}
catch (Exception)
{
timer2.Enabled = false;
recc = null;
}
return recc;
});
}