1
wxr
2022-12-30 9ebd6edb9beddf1a6881b2ca924ed43bf5cedfbe
SmartHome/UI/SimpleControl/Phone/System/RemoteOnePort.cs
@@ -7,14 +7,14 @@
    public class RemoteOnePort : FrameLayout
    {
        #region 文本
        string text_Title = "远程连接";
        string text_Title = "远程";
        string text_userName = "用户名";
        string text_projectName ="工程名";
        string text_password = "密码";
        string text_entry_userName_tip = "请输入组名。";
        string text_entry_projectName_tip = "请输入工程名。";
        string text_entry_password_tip = "请输入密码。";
        string text_link = "连接一端口";
        string text_link = "连接并配置";
        string text_back = "后退";
        string text_reading = "读取中";
        /// <summary>
@@ -83,7 +83,7 @@
                text_UnknownVersion = "Other version";
                text_readFailure = "Read failure";
                text_back = "Back";
                text_link = "Link";
                text_link = "Connect and configure";
                text_reading = "Reading";
                txt_breakLink = "Break link";
                txt_connectionSucceeded = "Connection succeeded";
@@ -178,7 +178,7 @@
            userNameView.AddChidren (tvUserName);
            var btnLine = new Button () {
                Height = Application.GetRealHeight (1),
                Height = Application.GetRealHeight (2),
                BackgroundColor = SkinStyle.Current.LineColor,
            };
            infoView.AddChidren (btnLine);
@@ -211,7 +211,7 @@
            projectNameView.AddChidren (tvProjectName);
            var btnLine1 = new Button () {
                Height = Application.GetRealHeight (1),
                Height = Application.GetRealHeight (2),
                BackgroundColor = SkinStyle.Current.LineColor,
            };
            infoView.AddChidren (btnLine1);
@@ -242,7 +242,7 @@
            passwrodView.AddChidren (tvPassword);
            var btnLine2 = new Button () {
                Height = Application.GetRealHeight (1),
                Height = Application.GetRealHeight (2),
                BackgroundColor = SkinStyle.Current.LineColor,
            };
            infoView.AddChidren (btnLine2);
@@ -318,11 +318,9 @@
                        try {
                            #region 搜索设备
                            CommonPage.LocalPhoneFindDevice = true;
                            CommonPage.RandomHigh = (byte)new Random ().Next (255);
                            CommonPage.RandomLow = (byte)new Random ().Next (255);
                            CommonPage.GateWayList.Clear ();
                            CommonPage.FindGateway = true;
                            //如果两次都没有数据反馈,就不读取
                            int readCount = 2;
                            while (0 < readCount) {
@@ -347,7 +345,7 @@
                                Control control = new Control ();
                                control.Send (new Target () {
                                    IPEndPoint = CommonPage.EndPoint,
                                    Command = Command.ReadGateway,
                                    Command = Command.ReadRemark,
                                    SubnetID = 0xFF,
                                    DeviceID = 0xFF,
                                    AddData = ms.ToArray ()
@@ -360,14 +358,12 @@
                                    readCount = 2;
                                }
                            }
                            CommonPage.FindGateway = false;
                            Application.RunOnMainThread (() => {
                                ShowGateWayView ();
                            });
                            CommonPage.LocalPhoneFindDevice = false;
                            #endregion
                        } catch (Exception ex) {
                            Console.WriteLine (ex.ToString ());
@@ -380,10 +376,9 @@
                    } else {
                        CommonPage.IsRemote = false;
                        Application.RunOnMainThread (() => {
                            MainPage.Loading.Hide ();
                            infoView.AddChidren (rightButton1);
                            rightButton1.Text = linkResult;
                            rightButton1.TextColor = 0x99ff0000;
                            MainPage.Loading.Hide ();
                        });
                    }
                }) { IsBackground = true }.Start ();
@@ -453,7 +448,6 @@
            Button rightButton1 = new Button () {
                X = Application.GetRealWidth (480),
                Width = Application.GetRealWidth (100),
                Height = Application.GetRealHeight (40),
                Gravity = Gravity.CenterVertical,
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = SkinStyle.Current.TextColor1,
@@ -463,90 +457,177 @@
            };
            wirelessView.AddChidren (rightButton1);
            new System.Threading.Thread (() => {
                var serverIPBytes = Control.ControlBytesSendHasReturn (Command.ReadGatewayServerIP, common.SubnetID, common.DeviceID, new byte [] { });
                if (serverIPBytes != null) {
                    try {
                        string serverIP1 = serverIPBytes [0].ToString () + "." + serverIPBytes [1].ToString () + "." +
                            serverIPBytes [2].ToString () + "." + serverIPBytes [3].ToString ();
                        string serverIP1Point = ((serverIPBytes [4] * 256) + serverIPBytes [5]).ToString ();
                        string serverIP2 = serverIPBytes [6].ToString () + "." + serverIPBytes [7].ToString () + "." +
                            serverIPBytes [8].ToString () + "." + serverIPBytes [9].ToString ();
                        string serverIP2Point = ((serverIPBytes [10] * 256) + serverIPBytes [11]).ToString ();
                        if (serverIP1 == "118.31.3.103" || serverIP2 == "118.31.3.103") {
                            Application.RunOnMainThread (() => {
                                rightButton1.Text = text_Upgraded;
                                rightButton1.TextColor = 0xFF00FF00;
                                return;
                            });
                        } else if (serverIP1 != "115.29.251.24" && serverIP2 != "115.29.251.24") {
                            Application.RunOnMainThread (() => {
                                rightButton1.Text = text_UnknownVersion;
                                rightButton1.TextColor = 0xFF00FF00;
                                return;
                            });
                        } else {
                            Application.RunOnMainThread (() => {
                                rightButton1.Text = text_Upgrading;
                                rightButton1.TextColor = 0xFF0000FF;
                            });
                            if (serverIP1 == "115.29.251.24") {
                                serverIP1 = "118.31.3.103";
                                serverIP1Point = "9999";
            if (Language.CurrentLanguage != "Chinese") {
                //修改国外服务器
                new System.Threading.Thread (() => {
                    var serverIPBytes = Control.ControlBytesSendHasReturn (Command.ReadGatewayServerIP, common.SubnetID, common.DeviceID, new byte [] { });
                    if (serverIPBytes != null) {
                        try {
                            string serverIP1 = serverIPBytes [0].ToString () + "." + serverIPBytes [1].ToString () + "." +
                                serverIPBytes [2].ToString () + "." + serverIPBytes [3].ToString ();
                            string serverIP1Point = ((serverIPBytes [4] * 256) + serverIPBytes [5]).ToString ();
                            string serverIP2 = serverIPBytes [6].ToString () + "." + serverIPBytes [7].ToString () + "." +
                                serverIPBytes [8].ToString () + "." + serverIPBytes [9].ToString ();
                            string serverIP2Point = ((serverIPBytes [10] * 256) + serverIPBytes [11]).ToString ();
                                serverIPBytes [0] = 118;
                                serverIPBytes [1] = 31;
                                serverIPBytes [2] = 3;
                                serverIPBytes [3] = 103;
                                serverIPBytes [4] = Convert.ToByte (9999 / 256);
                                serverIPBytes [5] = Convert.ToByte (9999 % 256);
                            }
                            if (serverIP2 == "115.29.251.24") {
                                serverIP2 = "118.31.3.103";
                                serverIP2Point = "9999";
                                serverIPBytes [0 + 6] = 118;
                                serverIPBytes [1 + 6] = 31;
                                serverIPBytes [2 + 6] = 3;
                                serverIPBytes [3 + 6] = 103;
                                serverIPBytes [4 + 6] = Convert.ToByte (9999 / 256);
                                serverIPBytes [5 + 6] = Convert.ToByte (9999 % 256);
                            }
#if DEBUG
                            return;
#endif
                            var mobytes = Control.ControlBytesSendHasReturn (Command.SetGateWayModelInternetInfo, common.SubnetID, common.DeviceID, serverIPBytes);
                            if (mobytes == null || mobytes [0] == 0xF5) {
                            if (serverIP1 == "157.175.231.123" || serverIP2 == "157.175.231.123") {//巴林服务器
                                Application.RunOnMainThread (() => {
                                    rightButton1.Text = text_Upgraded;
                                    rightButton1.TextColor = 0xFF00FF00;
                                });
                            }
                            else if (serverIP1 == "115.29.251.24" || serverIP2 == "115.29.251.24"//旧服务器
                                      || serverIP1 == "118.31.3.103" || serverIP2 == "118.31.3.103") {//新国内服务器
                                Application.RunOnMainThread (() => {
                                    rightButton1.Text = text_Upgrading;
                                    rightButton1.TextColor = 0xFF0000FF;
                                });
                                if (serverIP1 == "115.29.251.24" || serverIP1 == "118.31.3.103") {//旧服务器//新国内服务器
                                    serverIP1 = "157.175.231.123";//巴林服务器
                                    serverIP1Point = "9999";
                                    serverIPBytes [0] = 157;
                                    serverIPBytes [1] = 175;
                                    serverIPBytes [2] = 231;
                                    serverIPBytes [3] = 123;
                                    serverIPBytes [4] = Convert.ToByte (9999 / 256);
                                    serverIPBytes [5] = Convert.ToByte (9999 % 256);
                                }
                                if (serverIP2 == "115.29.251.24" || serverIP2 == "118.31.3.103") {//旧服务器//新国内服务器
                                    serverIP2 = "157.175.231.123";//巴林服务器
                                    serverIP2Point = "9999";
                                    serverIPBytes [0 + 6] = 157;
                                    serverIPBytes [1 + 6] = 175;
                                    serverIPBytes [2 + 6] = 231;
                                    serverIPBytes [3 + 6] = 123;
                                    serverIPBytes [4 + 6] = Convert.ToByte (9999 / 256);
                                    serverIPBytes [5 + 6] = Convert.ToByte (9999 % 256);
                                }
                                var mobytes = Control.ControlBytesSendHasReturn (Command.SetGateWayModelInternetInfo, common.SubnetID, common.DeviceID, serverIPBytes);
                                if (mobytes == null || mobytes [0] == 0xF5) {
                                    Application.RunOnMainThread (() => {
                                        rightButton1.Text = text_UpgradeFailed;
                                        rightButton1.TextColor = 0x99ff0000;
                                        Application.RunOnMainThread (() => {
                                            rightButton1.Text = text_UpgradeFailed;
                                            rightButton1.TextColor = 0x99ff0000;
                                        });
                                    });
                                } else {
                                    Application.RunOnMainThread (() => {
                                        Application.RunOnMainThread (() => {
                                            rightButton1.Text = text_Upgraded;
                                            rightButton1.TextColor = 0xFF00FF00;
                                        });
                                    });
                                }
                            }
                            else {
                                Application.RunOnMainThread (() => {
                                    rightButton1.Text = text_UnknownVersion;
                                    rightButton1.TextColor = 0xFF00FF00;
                                });
                            }
                        } catch (Exception ex) {
                            Console.WriteLine ("一端口远程ip信息转译失败.");
                        }
                    } else {
                        Application.RunOnMainThread (() => {
                            rightButton1.Text = text_readFailure;
                            rightButton1.TextColor = 0x99ff0000;
                        });
                    }
                }) { IsBackground = true }.Start ();
            } else {
                //修改国内服务器
                new System.Threading.Thread (() => {
                    var serverIPBytes = Control.ControlBytesSendHasReturn (Command.ReadGatewayServerIP, common.SubnetID, common.DeviceID, new byte [] { });
                    if (serverIPBytes != null) {
                        try {
                            string serverIP1 = serverIPBytes [0].ToString () + "." + serverIPBytes [1].ToString () + "." +
                                serverIPBytes [2].ToString () + "." + serverIPBytes [3].ToString ();
                            string serverIP1Point = ((serverIPBytes [4] * 256) + serverIPBytes [5]).ToString ();
                            string serverIP2 = serverIPBytes [6].ToString () + "." + serverIPBytes [7].ToString () + "." +
                                serverIPBytes [8].ToString () + "." + serverIPBytes [9].ToString ();
                            string serverIP2Point = ((serverIPBytes [10] * 256) + serverIPBytes [11]).ToString ();
                            if (serverIP1 == "118.31.3.103" || serverIP2 == "118.31.3.103") {
                                Application.RunOnMainThread (() => {
                                    rightButton1.Text = text_Upgraded;
                                    rightButton1.TextColor = 0xFF00FF00;
                                    return;
                                });
                            } else if (serverIP1 != "115.29.251.24" && serverIP2 != "115.29.251.24") {
                                Application.RunOnMainThread (() => {
                                    rightButton1.Text = text_UnknownVersion;
                                    rightButton1.TextColor = 0xFF00FF00;
                                    return;
                                });
                            } else {
                                Application.RunOnMainThread (() => {
                                    Application.RunOnMainThread (() => {
                                        rightButton1.Text = text_Upgraded;
                                        rightButton1.TextColor = 0xFF00FF00;
                                    });
                                    rightButton1.Text = text_Upgrading;
                                    rightButton1.TextColor = 0xFF0000FF;
                                });
                                if (serverIP1 == "115.29.251.24") {
                                    serverIP1 = "118.31.3.103";
                                    serverIP1Point = "9999";
                                    serverIPBytes [0] = 118;
                                    serverIPBytes [1] = 31;
                                    serverIPBytes [2] = 3;
                                    serverIPBytes [3] = 103;
                                    serverIPBytes [4] = Convert.ToByte (9999 / 256);
                                    serverIPBytes [5] = Convert.ToByte (9999 % 256);
                                }
                                if (serverIP2 == "115.29.251.24") {
                                    serverIP2 = "118.31.3.103";
                                    serverIP2Point = "9999";
                                    serverIPBytes [0 + 6] = 118;
                                    serverIPBytes [1 + 6] = 31;
                                    serverIPBytes [2 + 6] = 3;
                                    serverIPBytes [3 + 6] = 103;
                                    serverIPBytes [4 + 6] = Convert.ToByte (9999 / 256);
                                    serverIPBytes [5 + 6] = Convert.ToByte (9999 % 256);
                                }
                                var mobytes = Control.ControlBytesSendHasReturn (Command.SetGateWayModelInternetInfo, common.SubnetID, common.DeviceID, serverIPBytes);
                                if (mobytes == null || mobytes [0] == 0xF5) {
                                    Application.RunOnMainThread (() => {
                                        Application.RunOnMainThread (() => {
                                            rightButton1.Text = text_UpgradeFailed;
                                            rightButton1.TextColor = 0x99ff0000;
                                        });
                                    });
                                } else {
                                    Application.RunOnMainThread (() => {
                                        Application.RunOnMainThread (() => {
                                            rightButton1.Text = text_Upgraded;
                                            rightButton1.TextColor = 0xFF00FF00;
                                        });
                                    });
                                }
                            }
                        } catch (Exception ex) {
                            Console.WriteLine ("一端口远程ip信息转译失败.");
                        }
                    } catch (Exception ex) {
                        Console.WriteLine ("一端口远程ip信息转译失败.");
                    } else {
                        Application.RunOnMainThread (() => {
                            rightButton1.Text = text_UnknownVersion;
                            rightButton1.TextColor = 0xFF00FF00;
                        });
                    }
                } else {
                    Application.RunOnMainThread (() => {
                        rightButton1.Text = text_UnknownVersion;
                        rightButton1.TextColor = 0xFF00FF00;
                    });
                }
            }) { IsBackground = true }.Start ();
                }) { IsBackground = true }.Start ();
            }
        }
    }
}