HasMoreTokens() public method

public HasMoreTokens ( ) : bool
return bool
示例#1
0
        internal NameServiceClient(int lport, IPAddress laddr)
        {
            this._lport = lport;
            this.laddr = laddr;

            try
            {
                Baddr = Config.GetInetAddress("jcifs.netbios.baddr", Extensions.GetAddressByName("255.255.255.255"));
            }
            catch (Exception ex)
            {
            }

            _sndBuf = new byte[SndBufSize];
            _rcvBuf = new byte[RcvBufSize];

            if (string.IsNullOrEmpty(Ro))
            {
                if (NbtAddress.GetWinsAddress() == null)
                {
                    _resolveOrder = new int[2];
                    _resolveOrder[0] = ResolverLmhosts;
                    _resolveOrder[1] = ResolverBcast;
                }
                else
                {
                    _resolveOrder = new int[3];
                    _resolveOrder[0] = ResolverLmhosts;
                    _resolveOrder[1] = ResolverWins;
                    _resolveOrder[2] = ResolverBcast;
                }
            }
            else
            {
                int[] tmp = new int[3];
                StringTokenizer st = new StringTokenizer(Ro, ",");
                int i = 0;
                while (st.HasMoreTokens())
                {
                    string s = st.NextToken().Trim();
                    if (Runtime.EqualsIgnoreCase(s, "LMHOSTS"))
                    {
                        tmp[i++] = ResolverLmhosts;
                    }
                    else
                    {
                        if (Runtime.EqualsIgnoreCase(s, "WINS"))
                        {
                            if (NbtAddress.GetWinsAddress() == null)
                            {
                                if (_log.Level > 1)
                                {
                                    _log.WriteLine("NetBIOS resolveOrder specifies WINS however the " + "jcifs.netbios.wins property has not been set"
                                        );
                                }
                                continue;
                            }
                            tmp[i++] = ResolverWins;
                        }
                        else
                        {
                            if (Runtime.EqualsIgnoreCase(s, "BCAST"))
                            {
                                tmp[i++] = ResolverBcast;
                            }
                            else
                            {
                                if (Runtime.EqualsIgnoreCase(s, "DNS"))
                                {
                                }
                                else
                                {
                                    // skip
                                    if (_log.Level > 1)
                                    {
                                        _log.WriteLine("unknown resolver method: " + s);
                                    }
                                }
                            }
                        }
                    }
                }
                _resolveOrder = new int[i];
                Array.Copy(tmp, 0, _resolveOrder, 0, i);
            }
        }
示例#2
0
		static UniAddress()
		{
			string ro = Config.GetProperty("jcifs.resolveOrder");
			IPAddress nbns = NbtAddress.GetWinsAddress();
			try
			{
				_baddr = Config.GetInetAddress("jcifs.netbios.baddr", Extensions.GetAddressByName
					("255.255.255.255"));
			}
			catch (UnknownHostException)
			{
			}
			if (string.IsNullOrEmpty(ro))
			{
				if (nbns == null)
				{
					_resolveOrder = new int[3];
					_resolveOrder[0] = ResolverLmhosts;
					_resolveOrder[1] = ResolverDns;
					_resolveOrder[2] = ResolverBcast;
				}
				else
				{
					_resolveOrder = new int[4];
					_resolveOrder[0] = ResolverLmhosts;
					_resolveOrder[1] = ResolverWins;
					_resolveOrder[2] = ResolverDns;
					_resolveOrder[3] = ResolverBcast;
				}
			}
			else
			{
				int[] tmp = new int[4];
				StringTokenizer st = new StringTokenizer(ro, ",");
				int i = 0;
				while (st.HasMoreTokens())
				{
					string s = st.NextToken().Trim();
					if (Runtime.EqualsIgnoreCase(s, "LMHOSTS"))
					{
						tmp[i++] = ResolverLmhosts;
					}
					else
					{
						if (Runtime.EqualsIgnoreCase(s, "WINS"))
						{
							if (nbns == null)
							{
								if (_log.Level > 1)
								{
									_log.WriteLine("UniAddress resolveOrder specifies WINS however the " + "jcifs.netbios.wins property has not been set"
										);
								}
								continue;
							}
							tmp[i++] = ResolverWins;
						}
						else
						{
							if (Runtime.EqualsIgnoreCase(s, "BCAST"))
							{
								tmp[i++] = ResolverBcast;
							}
							else
							{
								if (Runtime.EqualsIgnoreCase(s, "DNS"))
								{
									tmp[i++] = ResolverDns;
								}
								else
								{
									if (_log.Level > 1)
									{
										_log.WriteLine("unknown resolver method: " + s);
									}
								}
							}
						}
					}
				}
				_resolveOrder = new int[i];
				Array.Copy(tmp, 0, _resolveOrder, 0, i);
			}
		}