예제 #1
0
 public static void MainThread()
 {
     while (SysFlag.ServiceStart)
     {
         try
         {
             Socket       client    = Configs.ListenSock.Accept();//当有可用的客户端连接尝试时执行,并返回一个新的socket,用于与客户端之间的通信
             IPEndPoint   clientip  = (IPEndPoint)client.RemoteEndPoint;
             ClientThread newclient = new ClientThread(client);
             Thread       newthread = new Thread(new ThreadStart(newclient.ClientService));
             newthread.Start();
             SysFlag.ListenOk = true;
             if (!SysFlag.ServiceStart)
             {
                 client.Close(); return;
             }
         }
         catch (Exception E)
         {
             if (SysFlag.ListenOk)
             {
                 CreateInfor.WriteLogs(E.Message + "导致【RTU服务主线程抛锚】!");
             }
             SysFlag.ListenOk = false;
         }
     }
     Configs.ListenSock.Close();
     CreateInfor.WriteLogs("侦听通道关闭!");
 }
예제 #2
0
파일: Program.cs 프로젝트: wpmyj/csharp
 static void Main(string[] args)
 {
     Tools.IfNotFileCreat(Configs.Path);
     CreateInfor.WriteLogs("================================================Start=======================================================");
     if (XML.LoadConfig())
     {
         CreateInfor.WriteLogs("读取配置成功!");
     }
     else
     {
         CreateInfor.WriteLogs("读取配置失败,已重置配置,服务结束!"); return;
     }
     if (Sql.MainSql())
     {
         CreateInfor.WriteLogs("SqlService数据库连接成功!");
     }
     else
     {
         CreateInfor.WriteLogs("SqlService数据库连接失败,服务结束!"); return;
     }
     if (Oracle.LinkOracle())
     {
         CreateInfor.WriteLogs("Oracle数据库连接成功!");
     }
     else
     {
         CreateInfor.WriteLogs("Oracle数据库连接失败,服务结束!"); return;
     }
     //  if (UserFaceThread.CreateUser()) CreateInfor.WriteLogs("用户访问通道建立!");
     // else { CreateInfor.WriteLogs("用户访问通道创建失败,服务结束!"); return; }
     if (ClientThread.CreateServiceThread())
     {
         CreateInfor.WriteLogs("侦听通道建立!");
     }
     else
     {
         CreateInfor.WriteLogs("侦听通道通道创建失败,服务结束!"); return;
     }
     CreateInfor.WriteLogs("服务完全进入运行状态");
 }