SocketPermission.ConnectList プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > SocketPermission.ConnectList プロパティの意味・解説 

SocketPermission.ConnectList プロパティ

このアクセス許可インスタンス制約下で接続できるエンドポイント識別する EndpointPermission インスタンスの一覧を取得します

名前空間: System.Net
アセンブリ: System (system.dll 内)
構文構文

Public ReadOnly Property
 ConnectList As IEnumerator
Dim instance As SocketPermission
Dim value As IEnumerator

value = instance.ConnectList
public IEnumerator ConnectList { get; }
public:
property IEnumerator^ ConnectList {
    IEnumerator^ get ();
}
/** @property */
public IEnumerator get_ConnectList ()
public function get ConnectList
 () : IEnumerator

プロパティ
EndpointPermission インスタンス格納している IEnumerator インターフェイス実装するインスタンス

使用例使用例

ConnectList プロパティ使用して接続特権付与されているエンドポイントリスト返す例を次に示します

Dim socketPermission1 As New
 SocketPermission(PermissionState.Unrestricted)

    'Create a 'SocketPermission' object for two ip addresses.
    Dim socketPermission2 As New
 SocketPermission(PermissionState.None)
    Dim securityElement4 As SecurityElement
 = socketPermission2.ToXml()
    ''SocketPermission' object for 'Connect' permission
    Dim securityElement1 As New
 SecurityElement("ConnectAccess")
    'Format to specify ip address are <ip-address>#<port>#<transport-type>
    'First 'SocketPermission' ip-address is '192.168.144.238' for 'All'
 transport types and for 'All' ports for the ip-address.
    Dim securityElement2 As New
 SecurityElement("URI", "192.168.144.238#-1#3")
    'Second 'SocketPermission' ip-address is '192.168.144.240' for 'All'
 transport types and for 'All' ports for the ip-address.
    Dim securityElement3 As New
 SecurityElement("URI", "192.168.144.240#-1#3")
    securityElement1.AddChild(securityElement2)
    securityElement1.AddChild(securityElement3)
    securityElement4.AddChild(securityElement1)
    
    'Obtain a 'SocketPermission' object using 'FromXml' method.    
    socketPermission2.FromXml(securityElement4)
    
    'Create another 'SocketPermission' object with two ip addresses.
    'First 'SocketPermission' ip-address is '192.168.144.238' for 'All'
 transport types and for 'All' ports for the ip-address.
    Dim socketPermission3 As New
 SocketPermission(NetworkAccess.Connect, TransportType.All, "192.168.144.238",
 SocketPermission.AllPorts)
    
    'Second 'SocketPermission' ip-address is '192.168.144.239' for 'All'
 transport types and for 'All' ports for the ip-address.
    socketPermission3.AddPermission(NetworkAccess.Connect, TransportType.All, "192.168.144.239",
 SocketPermission.AllPorts)

    Console.WriteLine(ControlChars.Cr + "Checks the Socket permissions
 using IsUnrestricted method : ")
    If socketPermission1.IsUnrestricted() Then
        Console.WriteLine("Socket permission is unrestricted")
    Else
        Console.WriteLine("Socket permission is restricted")
    End If 
    Console.WriteLine()
    
    Console.WriteLine("Display result of ConnectList property
 : " + ControlChars.Cr)
    Dim enumerator As IEnumerator = socketPermission3.ConnectList
    While enumerator.MoveNext()
        Console.WriteLine("The hostname is       : {0}",
 CType(enumerator.Current, EndpointPermission).Hostname)
        Console.WriteLine("The port is           : {0}",
 CType(enumerator.Current, EndpointPermission).Port)
        Console.WriteLine("The Transport type is : {0}",
 CType(enumerator.Current, EndpointPermission).Transport)
    End While
    
    Console.WriteLine("")
    
    Console.WriteLine("Display Security Elements :"
 + ControlChars.Cr + " ")
    PrintSecurityElement(socketPermission2.ToXml(), 0)
    
    'Get a 'SocketPermission' object which is a union of two other 'SocketPermission'
 objects.
    socketPermission1 = CType(socketPermission3.Union(socketPermission2), SocketPermission)
    
    'Demand that the calling method have the socket permission.
    socketPermission1.Demand()
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Collections;
using System.Security;
using System.Security.Permissions;

public class DateClient {

    private Socket serverSocket;
    private Encoding asciiEncoding; 
    private IPAddress serverAddress;

    private int serverPort;

    // The constructor takes the address and port of the remote server.
    public DateClient(IPAddress serverIpAddress, int
 port) {
        serverAddress = serverIpAddress;
        serverPort = port;
        serverSocket = new Socket(AddressFamily.InterNetwork,
 SocketType.Stream, ProtocolType.Tcp);
        asciiEncoding = Encoding.ASCII;
    }

    // Print a security element and all its children, in a depth-first
 manner.
    private void PrintSecurityElement(SecurityElement
 securityElementObj, int depth) {

        Console.WriteLine("Depth    : {0}", depth);
        Console.WriteLine("Tag      : {0}", securityElementObj.Tag);
        Console.WriteLine("Text     : {0}", securityElementObj.Text);
        if(securityElementObj.Children != null)
            Console.WriteLine("Children : {0}", securityElementObj.Children.Count);

        if(securityElementObj.Attributes != null)
 {
            IEnumerator attributeEnumerator = securityElementObj.Attributes.GetEnumerator();
            while(attributeEnumerator.MoveNext())
            Console.WriteLine("Attribute - \"{0}\" , Value - \"{1}\"",
 ((IDictionaryEnumerator)attributeEnumerator).Key, 
                                                                    ((IDictionaryEnumerator)attributeEnumerator).Value);
 
        }

        Console.WriteLine("");

        if(securityElementObj.Children != null)
 {
            depth += 1;
            for(int i = 0; i < securityElementObj.Children.Count;
 i++) 
                PrintSecurityElement((SecurityElement)(securityElementObj.Children[i]),
 depth);
        }
    }

    public String GetDate() 
    {

        SocketPermission socketPermission1 = new SocketPermission(PermissionState.Unrestricted);

        // Create a 'SocketPermission' object for two ip addresses.
        SocketPermission socketPermission2 = new SocketPermission(PermissionState.None);
        SecurityElement securityElement4 = socketPermission2.ToXml();
      // 'SocketPermission' object for 'Connect' permission
        SecurityElement securityElement1 = new SecurityElement("ConnectAccess");
      // Format to specify ip address are <ip-address>#<port>#<transport-type>
        // First 'SocketPermission' ip-address is '192.168.144.238'
 for 'All' transport types and for 'All' ports for the ip-address.
        SecurityElement securityElement2 = new SecurityElement("URI",
 "192.168.144.238#-1#3");
      // Second 'SocketPermission' ip-address is '192.168.144.240' for
 'All' transport types and for 'All' ports for the ip-address.
        SecurityElement securityElement3 = new SecurityElement("URI",
 "192.168.144.240#-1#3");
        securityElement1.AddChild(securityElement2);
        securityElement1.AddChild(securityElement3);
        securityElement4.AddChild(securityElement1);
        
       // Obtain a 'SocketPermission' object using 'FromXml' method.
    
        socketPermission2.FromXml(securityElement4);

        // Create another 'SocketPermission' object with two ip addresses.
      // First 'SocketPermission' ip-address is '192.168.144.238' for
 'All' transport types and for 'All' ports for the ip-address.
        SocketPermission socketPermission3 = 
                        new SocketPermission(NetworkAccess.Connect
,
                                             TransportType.All,
                                             "192.168.144.238",
                                             SocketPermission.AllPorts);

      // Second 'SocketPermission' ip-address is '192.168.144.239' for
 'All' transport types and for 'All' ports for the ip-address.
        socketPermission3.AddPermission(NetworkAccess.Connect,
                                       TransportType.All,
                                       "192.168.144.239",
                                       SocketPermission.AllPorts);

        Console.WriteLine("\nChecks the Socket permissions using
 IsUnrestricted method : ");
        if(socketPermission1.IsUnrestricted())
            Console.WriteLine("Socket permission is unrestricted");
        else
            Console.WriteLine("Socket permission is restricted");

        Console.WriteLine();

        Console.WriteLine("Display result of ConnectList property : \n");
        IEnumerator enumerator = socketPermission3.ConnectList;
        while(enumerator.MoveNext()) {
            Console.WriteLine("The hostname is       : {0}", ((EndpointPermission)enumerator.Current).Hostname);
            Console.WriteLine("The port is           : {0}", ((EndpointPermission)enumerator.Current).Port);
            Console.WriteLine("The Transport type is : {0}", ((EndpointPermission)enumerator.Current).Transport);
        }
        Console.WriteLine("");

        Console.WriteLine("Display Security Elements :\n ");
        PrintSecurityElement(socketPermission2.ToXml(), 0);

        // Get a 'SocketPermission' object which is a union of two other
 'SocketPermission' objects.
        socketPermission1 = (SocketPermission)socketPermission3.Union(socketPermission2);

        // Demand that the calling method have the socket permission.
        socketPermission1.Demand();

        // Get the current date from the remote date server.
        try {
            int bytesReceived;        
            byte[] getByte = new byte[100];
            serverSocket.Connect(new IPEndPoint( serverAddress,
 serverPort));
            bytesReceived = serverSocket.Receive( getByte, getByte.Length, 0 );
            return asciiEncoding.GetString( getByte, 0, bytesReceived
 );
        }
        catch(Exception e)
        {
            Console.WriteLine("\nException raised : {0}", e.Message);
            return "";
        }
    }
};
SocketPermission^ socketPermission1 = gcnew SocketPermission( PermissionState::Unrestricted
 );

// Create a 'SocketPermission' Object* for two ip addresses.
SocketPermission^ socketPermission2 = gcnew SocketPermission( PermissionState::None
 );
SecurityElement^ securityElement4 = socketPermission2->ToXml();

// 'SocketPermission' Object* for 'Connect' permission
SecurityElement^ securityElement1 = gcnew SecurityElement( "ConnectAccess"
 );

// Format to specify ip address are <ip-address>#<port>#<transport-type>
// First 'SocketPermission' ip-address is '192.168.144.238' for 'All'
 transport types and for 'All' ports for the ip-address.
SecurityElement^ securityElement2 = gcnew SecurityElement( "URI","192.168.144.238#-1#3"
 );

// Second 'SocketPermission' ip-address is '192.168.144.240' for 'All'
 transport types and for 'All' ports for the ip-address.
SecurityElement^ securityElement3 = gcnew SecurityElement( "URI","192.168.144.240#-1#3"
 );
securityElement1->AddChild( securityElement2 );
securityElement1->AddChild( securityElement3 );
securityElement4->AddChild( securityElement1 );

// Obtain a 'SocketPermission' Object* using 'FromXml' method.
socketPermission2->FromXml( securityElement4 );

// Create another 'SocketPermission' Object* with two ip addresses.
// First 'SocketPermission' ip-address is '192.168.144.238' for 'All'
 transport types and for 'All' ports for the ip-address.
SocketPermission^ socketPermission3 = gcnew SocketPermission( NetworkAccess::Connect,TransportType::All,"192.168.144.238",SocketPermission::AllPorts
 );

// Second 'SocketPermission' ip-address is '192.168.144.239' for 'All'
 transport types and for 'All' ports for the ip-address.
socketPermission3->AddPermission( NetworkAccess::Connect, TransportType::All,
 "192.168.144.239", SocketPermission::AllPorts );
Console::WriteLine( "\nChecks the Socket permissions using
 IsUnrestricted method : " );
if ( socketPermission1->IsUnrestricted() )
      Console::WriteLine( "Socket permission is unrestricted" );
else
      Console::WriteLine( "Socket permission is restricted" );

Console::WriteLine();
Console::WriteLine( "Display result of ConnectList property : \n" );
IEnumerator^ enumerator = socketPermission3->ConnectList;
while ( enumerator->MoveNext() )
{
   Console::WriteLine( "The hostname is       : {0}", dynamic_cast<EndpointPermission^>(enumerator->Current)->Hostname
 );
   Console::WriteLine( "The port is           : {0}", dynamic_cast<EndpointPermission^>(enumerator->Current)->Port
 );
   Console::WriteLine( "The Transport type is : {0}", dynamic_cast<EndpointPermission^>(enumerator->Current)->Transport
 );
}

Console::WriteLine( "" );
Console::WriteLine( "Display Security Elements :\n " );
PrintSecurityElement( socketPermission2->ToXml(), 0 );

// Get a 'SocketPermission' Object* which is a union of two other 'SocketPermission'
 objects.
socketPermission1 = dynamic_cast<SocketPermission^>(socketPermission3->Union(
 socketPermission2 ));

// Demand that the calling method have the socket permission.
socketPermission1->Demand();
SocketPermission socketPermission1 = 
    new SocketPermission(PermissionState.Unrestricted);

// Create a 'SocketPermission' object for two ip addresses.
SocketPermission socketPermission2 = 
    new SocketPermission(PermissionState.None);
SecurityElement securityElement4 = socketPermission2.ToXml();

// 'SocketPermission' object for 'Connect' permission
SecurityElement securityElement1 = new SecurityElement("ConnectAccess");

// Format to specify ip address are <ip-address>#<port>#<transport-type>
// First 'SocketPermission' ip-address is '192.168.144.238' for 
// 'All' transport types and for 'All' ports for the ip-address.
SecurityElement securityElement2 = 
    new SecurityElement("URI", "192.168.144.238#-1#3");

// Second 'SocketPermission' ip-address is '192.168.144.240' for 
// 'All' transport types and for 'All' ports for the ip-address.
SecurityElement securityElement3 = 
    new SecurityElement("URI", "192.168.144.240#-1#3");

securityElement1.AddChild(securityElement2);
securityElement1.AddChild(securityElement3);
securityElement4.AddChild(securityElement1);

// Obtain a 'SocketPermission' object using 'FromXml' method.    
socketPermission2.FromXml(securityElement4);

// Create another 'SocketPermission' object with two ip addresses.
// First 'SocketPermission' ip-address is '192.168.144.238' for 
// 'All' transport types and for 'All' ports for the ip-address.
SocketPermission socketPermission3 = 
    new SocketPermission(NetworkAccess.Connect, 
    TransportType.All, "192.168.144.238", SocketPermission.AllPorts);

// Second 'SocketPermission' ip-address is '192.168.144.239' for
// 'All' transport types and for 'All' ports for the ip-address.
socketPermission3.AddPermission(NetworkAccess.Connect, 
    TransportType.All, "192.168.144.239", SocketPermission.AllPorts);
Console.WriteLine("\nChecks the Socket permissions using
 "
    + "IsUnrestricted method : ");
if (socketPermission1.IsUnrestricted()) {
    Console.WriteLine("Socket permission is unrestricted");
}
else {
    Console.WriteLine("Socket permission is restricted");
}

Console.WriteLine();
Console.WriteLine("Display result of ConnectList property : \n");

IEnumerator enumerator = socketPermission3.get_ConnectList();

while (enumerator.MoveNext()) {
    Console.WriteLine("The hostname is       : {0}", 
        ((EndpointPermission)enumerator.get_Current()).get_Hostname());
    Console.WriteLine("The port is           : {0}", (Int32)
        ((EndpointPermission)enumerator.get_Current()).get_Port());
    Console.WriteLine("The Transport type is : {0}", 
        ((EndpointPermission)enumerator.get_Current()).get_Transport());
}

Console.WriteLine("");
Console.WriteLine("Display Security Elements :\n ");
PrintSecurityElement(socketPermission2.ToXml(), 0);

// Get a 'SocketPermission' object which is a union of two other
// 'SocketPermission' objects.
socketPermission1 = (SocketPermission) 
    socketPermission3.Union(socketPermission2);

// Demand that the calling method have the socket permission.
socketPermission1.Demand();
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SocketPermission クラス
SocketPermission メンバ
System.Net 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

SocketPermission.ConnectList プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SocketPermission.ConnectList プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS