public VlazhnostForm()
{
InitializeComponent();
server = new IPEndPoint(Dns.GetHostAddresses(Dns.GetHostName())[Dns.GetHostAddresses(Dns.GetHostName()).Length - 1], port);
socketServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socketServer.Bind(server);
socketServer.Listen(10);
VlazhnostTimerTread = new Thread(() =>
{
Invoke((Action)(() =>
{
HumidityReception();//System.InvalidOperationException: "Невозможно вызвать Invoke или BeginInvoke для элемента управления до завершения создания дескриптора окна."
}));
});
VlazhnostTimerTread.Start();
}
private void HumidityReception()
{
while (true)
{
Socket socketWithData = socketServer.Accept();
if (socketWithData.Available > 0)
{
byte[] buffer = new byte[256];
string data;
do
{
byte size = (byte)socketWithData.Receive(buffer);
data = Encoding.UTF8.GetString(buffer, 0, size);
} while (socketWithData.Available > 0);
AddString(data);
}
Thread.Sleep(6000);
}
}
VlazhnostTimerTread = new Thread(() =>
{
Invoke((Action)(() =>
{
HumidityReception();//System.InvalidOperationException: "Невозможно вызвать Invoke или BeginInvoke для элемента управления до завершения создания дескриптора окна."
}));
});
VlazhnostTimerTread = new Thread(() => HumidityReception());
private void HumidityReception()
{
//-----
Invoke((Action)(() => AddString(data));
//-----
}