示例#1
0
 private void Awake()
 {
     instance   = this;
     infoText   = transform.Find("Text").GetComponent <Text>();
     rotateTrsm = transform.Find("Image");
     group      = GetComponent <CanvasGroup>();
 }
示例#2
0
 /// <summary>
 /// 释放资源
 /// </summary>
 public override void Dispose()
 {
     if (IsDisposed == 0)
     {
         base.Dispose();
         DisposeSocket();
         SocketWait.Set();
     }
 }
示例#3
0
 /// <summary>
 /// 等待套接字
 /// </summary>
 /// <returns></returns>
 private TcpServer.ClientSocketBase waitSocket()
 {
     if (Attribute.TcpRegisterName == null)
     {
         TryCreateSocket();
     }
     SocketWait.Wait();
     return(Socket);
 }
示例#4
0
 private void createSocket(IPAddress ipAddress, int port, int createVersion)
 {
     if (check(ipAddress, port))
     {
         CreateSocket = new ClientSocket(this, ipAddress, port, createVersion);
     }
     else
     {
         SocketWait.Set();
     }
 }
示例#5
0
 /// <summary>
 /// 释放资源
 /// </summary>
 public override void Dispose()
 {
     if (IsDisposed == 0)
     {
         base.Dispose();
         if (CreateSocket != null)
         {
             (CreateSocket as ClientSocket <attributeType>).DisposeSocket();
         }
         SocketWait.Set();
     }
 }
示例#6
0
 /// <summary>
 /// 尝试创建第一个套接字
 /// </summary>
 public void TryCreateSocket()
 {
     if (Interlocked.CompareExchange(ref CreateVersion, 1, 0) == 0)
     {
         IPAddress ipAddress = IpAddress;
         int       port      = Port;
         if (check(ipAddress, port))
         {
             CreateSocket = new ClientSocket(this, ipAddress, port, 1);
         }
         else
         {
             SocketWait.Set();
         }
     }
 }
示例#7
0
 /// <summary>
 /// 服务更新
 /// </summary>
 /// <param name="serverSet"></param>
 void TcpRegister.IClient.OnServerChange(TcpRegister.ServerSet serverSet)
 {
     if (serverSet == null || IsDisposed != 0)
     {
         SocketWait.PulseReset();
     }
     else
     {
         if (clientRoute == null)
         {
             clientCreator.OnServerChange(serverSet);
         }
         else
         {
             clientRoute.OnServerChange(serverSet);
         }
     }
 }
示例#8
0
 /// <summary>
 /// 服务更新
 /// </summary>
 /// <param name="serverSet"></param>
 void TcpRegister.IClient.OnServerChange(TcpRegister.ServerSet serverSet)
 {
     if (serverSet == null)
     {
         SocketWait.PulseReset();
     }
     else
     {
         TcpRegister.ServerInfo server = serverSet.Server.Server;
         IPAddress ipAddress           = HostPort.HostToIPAddress(server.Host, Log);
         if (server.Port == Port && ipAddress.Equals(IpAddress))
         {
             if (!server.IsCheckRegister)
             {
                 TryCreateSocket();
             }
         }
         else
         {
             Host = server.Host;
             createSocket(IpAddress = ipAddress, Port = server.Port, Interlocked.Increment(ref CreateVersion));
         }
     }
 }
示例#9
0
 /// <summary>
 /// 等待套接字
 /// </summary>
 /// <returns></returns>
 private TcpServer.ClientSocketBase waitSocket()
 {
     TryCreateSocket();
     SocketWait.Wait();
     return(Socket);
 }