Work wk = new work (readudpdate);
Parameterizedthreadstart Parmthre = new Parameterizedthreadstart (readudpdate);
Thread read = new thread (PARMTHRE);
Read. Start (ipAddress);
private void Readudpdate (object IP)
{
String message = "";
Try
{
while (true)
{
if (remoteipep==null)
//{
Remoteipep = new IPEndPoint (Ipaddress.parse ("192.168.6.32"), 26); Accepted IP address and port number
//}
if (readudpclient==null)
{
Return
}
int buff = ReadUdpClient.Client.Available;
if (Buff > 0)
{
Byte[] Bytrecv = readudpclient.receive (ref REMOTEIPEP);
if (bytrecv.length > 0)
{
message = Encoding.UTF8.GetString (bytrecv, 0, bytrecv.length);
if (bytrecv.l ength==35)
{
String sch = message. Substring (0, 20);
Sch = Sch. Substring (0, 10);
int countnum = Int. Parse (message. Substring (20, 2));
String jiip = RemoteIpep.Address.ToString ();
if (Qzz.select_diepian (Sch, JIIP))
{
Qzz.update_diepian (Sch, Countnum, JIIP);
}
Else
{
Qzz.insert_diepian (Sch, Countnum, JIIP);
}
}
Else
{
If the message is received, OK to close the switch
if (message. ToUpper () = = "OK")///&& IP = = remoteIpep.Address.ToString ())
{
}
else if (message. ToUpper () = = "NG")///&& IP = = remoteIpep.Address.ToString ())
{
if (sendbytes!=null)
{
Sendudpclient.send (Sendbytes, sendbytes. Length, REMOTEIPEP);
}
Else
{
MessageBox.Show ("Not yet sent to PLC data!");
}
}
}
}
}
}
}
catch (Exception ex)
{
MessageBox.Show (ex. Message, "System prompt! ");
}
}
UDP receive with parameters for thread