Socket.Connect Metod

Definition

Upprättar en anslutning till en fjärrvärd.

Överlagringar

Name Description
Connect(EndPoint)

Upprättar en anslutning till en fjärrvärd.

Connect(IPAddress, Int32)

Upprättar en anslutning till en fjärrvärd. Värden anges av en IP-adress och ett portnummer.

Connect(IPAddress[], Int32)

Upprättar en anslutning till en fjärrvärd. Värden anges av en matris med IP-adresser och ett portnummer.

Connect(String, Int32)

Upprättar en anslutning till en fjärrvärd. Värden anges med ett värdnamn och ett portnummer.

Connect(EndPoint)

Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs

Upprättar en anslutning till en fjärrvärd.

public:
 void Connect(System::Net::EndPoint ^ remoteEP);
public void Connect(System.Net.EndPoint remoteEP);
member this.Connect : System.Net.EndPoint -> unit
Public Sub Connect (remoteEP As EndPoint)

Parametrar

remoteEP
EndPoint

En EndPoint som representerar fjärrenheten.

Undantag

remoteEP är null.

Ett fel uppstod vid försök att komma åt socketen.

En anropare högre i anropsstacken har inte behörighet för den begärda åtgärden.

Socket har placerats i ett lyssningstillstånd genom att anropa Listen(Int32).

Exempel

Följande kodexempel ansluter till en fjärrslutpunkt och verifierar sedan anslutningen.

// .Connect throws an exception if unsuccessful
client.Connect(anEndPoint);

// This is how you can determine whether a socket is still connected.
bool blockingState = client.Blocking;
try
{
    byte [] tmp = new byte[1];

    client.Blocking = false;
    client.Send(tmp, 0, 0);
    Console.WriteLine("Connected!");
}
catch (SocketException e)
{
    // 10035 == WSAEWOULDBLOCK
    if (e.NativeErrorCode.Equals(10035))
    {
        Console.WriteLine("Still Connected, but the Send would block");
    }
    else
    {
        Console.WriteLine("Disconnected: error code {0}!", e.NativeErrorCode);
    }
}
finally
{
    client.Blocking = blockingState;
}

Console.WriteLine("Connected: {0}", client.Connected);
    ' .Connect throws an exception if unsuccessful
    client.Connect(anEndPoint)
    
    ' This is how you can determine whether a socket is still connected.
    Dim blockingState As Boolean = client.Blocking
    Try
        Dim tmp(0) As Byte
        
        client.Blocking = False
        client.Send(tmp, 0, 0)
        Console.WriteLine("Connected!")
    Catch e As SocketException
        ' 10035 == WSAEWOULDBLOCK
        If e.NativeErrorCode.Equals(10035) Then
            Console.WriteLine("Still Connected, but the Send would block")
        Else
            Console.WriteLine("Disconnected: error code {0}!", e.NativeErrorCode)
        End If
    Finally
        client.Blocking = blockingState
    End Try
    
    Console.WriteLine("Connected: {0}", client.Connected)

End Sub

Kommentarer

Om du använder ett anslutningsorienterat protokoll, till exempel TCP, Connect upprättar metoden synkront en nätverksanslutning mellan LocalEndPoint och den angivna fjärrslutpunkten. Om du använder ett anslutningslöst protokoll Connect upprättar du en standardvärd för fjärranslutningen. När du har ringt Connectkan du skicka data till fjärrenheten med Send metoden eller ta emot data från fjärrenheten med Receive metoden .

Om du använder ett anslutningslöst protokoll, till exempel UDP, behöver du inte anropa Connect innan du skickar och tar emot data. Du kan använda SendTo och ReceiveFrom för att kommunicera synkront med en fjärrvärd. Om du anropar Connectignoreras alla datagram som kommer från en annan adress än den angivna standardinställningen. Om du vill ange standardvärden för fjärrvärden till en sändningsadress måste du först anropa SetSocketOption metoden och ange socketalternativet till SocketOptionName.Broadcasteller Connect utlösa en SocketException. Om du får en SocketExceptionanvänder du SocketException.ErrorCode egenskapen för att hämta den specifika felkoden. När du har fått den här koden läser du felkoden Windows Sockets version 2 för en detaljerad beskrivning av felet.

Metoden Connect blockeras, såvida du inte specifikt anger Blocking egenskapen till false innan du anropar Connect. Om du använder ett anslutningsorienterat protokoll som TCP och inaktiverar blockering, Connect utlöser ett SocketException eftersom det behöver tid för att upprätta anslutningen. Anslutningslösa protokoll utlöser inget undantag eftersom de bara upprättar en standardvärd för fjärranslutningen. Du kan använda SocketException.ErrorCode för att hämta den specifika felkoden. När du har fått den här koden läser du felkoden Windows Sockets version 2 för en detaljerad beskrivning av felet. Om felet returnerade WSAEWOULDBLOCK har fjärrvärdanslutningen initierats av en anslutningsorienterad Socket, men har ännu inte slutförts. Poll Använd metoden för att avgöra när Socket anslutningen är klar.

Note

Om du använder ett anslutningsorienterat protokoll och inte anropade Bind innan du anropade Connecttilldelar den underliggande tjänstleverantören den lokala nätverksadressen och portnumret. Om du använder ett anslutningslöst protokoll tilldelar tjänstleverantören inte någon lokal nätverksadress och portnummer förrän du har slutfört en sändnings- eller mottagningsåtgärd. Om du vill ändra standardvärden för fjärranslutning anropar Connect du igen med önskad slutpunkt.

Note

Om socketen tidigare har kopplats från kan du inte använda den här metoden för att återställa anslutningen. Använd någon av de asynkrona BeginConnect metoderna för att återansluta. Det här är en begränsning för den underliggande providern.

Note

Den här medlemmen matar ut spårningsinformation när du aktiverar nätverksspårning i ditt program. Mer information finns i Network Tracing in .NET Framework.

Se även

Gäller för

Connect(IPAddress, Int32)

Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs

Upprättar en anslutning till en fjärrvärd. Värden anges av en IP-adress och ett portnummer.

public:
 void Connect(System::Net::IPAddress ^ address, int port);
public void Connect(System.Net.IPAddress address, int port);
member this.Connect : System.Net.IPAddress * int -> unit
Public Sub Connect (address As IPAddress, port As Integer)

Parametrar

address
IPAddress

IP-adressen för fjärrvärden.

port
Int32

Portnumret för fjärrvärden.

Undantag

address är null.

Portnumret är inte giltigt.

Ett fel uppstod vid försök att komma åt socketen.

Den här metoden är giltig för socketar i InterNetwork familjerna eller InterNetworkV6 .

Längden address på är noll.

Socket har placerats i ett lyssningstillstånd genom att anropa Listen(Int32).

Exempel

Följande kodexempel ansluter till en fjärrslutpunkt och verifierar sedan anslutningen.

// Synchronous connect using IPAddress to resolve the
// host name.
public static void Connect1(string host, int port)
{
    IPAddress[] IPs = Dns.GetHostAddresses(host);

    Socket s = new Socket(AddressFamily.InterNetwork,
        SocketType.Stream,
        ProtocolType.Tcp);

    Console.WriteLine("Establishing Connection to {0}",
        host);
    s.Connect(IPs[0], port);
    Console.WriteLine("Connection established");
}

Kommentarer

Om du använder ett anslutningsorienterat protokoll, till exempel TCP, Connect upprättar metoden synkront en nätverksanslutning mellan LocalEndPoint och den angivna fjärrslutpunkten. Om du använder ett anslutningslöst protokoll Connect upprättar du en standardvärd för fjärranslutningen. När du har ringt Connect kan du skicka data till fjärrenheten med Send metoden eller ta emot data från fjärrenheten med Receive metoden.

Om du använder ett anslutningslöst protokoll, till exempel UDP, behöver du inte anropa Connect innan du skickar och tar emot data. Du kan använda SendTo och ReceiveFrom för att kommunicera synkront med en fjärrvärd. Om du anropar Connect datagram som kommer från en annan adress än den angivna standardinställningen ignoreras. Om du vill ange standardvärden för fjärrvärden till en sändningsadress måste du först anropa SetSocketOption metoden och ange socketalternativet till SocketOptionName.Broadcasteller Connect utlösa en SocketException. Om du får en SocketExceptionanvänder du SocketException.ErrorCode egenskapen för att hämta den specifika felkoden. När du har fått den här koden läser du felkoden Windows Sockets version 2 för en detaljerad beskrivning av felet.

Connect -metoden blockeras, såvida du inte specifikt anger Blocking egenskapen till false innan du anropar Connect. Om du använder ett anslutningsorienterat protokoll som TCP och inaktiverar blockering, Connect utlöser ett SocketException eftersom det behöver tid för att upprätta anslutningen. Anslutningslösa protokoll utlöser inget undantag eftersom de bara upprättar en standardvärd för fjärranslutningen. Du kan använda SocketException.ErrorCode för att hämta den specifika felkoden. När du har fått den här koden läser du felkoden Windows Sockets version 2 för en detaljerad beskrivning av felet. Om felet returnerade WSAEWOULDBLOCK har fjärrvärdanslutningen initierats av en anslutningsorienterad Socket, men har ännu inte slutförts. Poll Använd metoden för att avgöra när Socket anslutningen är klar.

Note

Om du använder ett anslutningsorienterat protokoll och inte anropade Bind innan du anropade Connecttilldelar den underliggande tjänstleverantören den lokala nätverksadressen och portnumret. Om du använder ett anslutningslöst protokoll tilldelar tjänstleverantören inte någon lokal nätverksadress och portnummer förrän du har slutfört en sändnings- eller mottagningsåtgärd. Om du vill ändra standardvärden för fjärranslutning anropar Connect du igen med önskad slutpunkt.

Note

Om socketen tidigare har kopplats från kan du inte använda den här metoden för att återställa anslutningen. Använd någon av de asynkrona BeginConnect metoderna för att återansluta. Det här är en begränsning för den underliggande providern.

Note

Den här medlemmen matar ut spårningsinformation när du aktiverar nätverksspårning i ditt program. Mer information finns i Network Tracing in .NET Framework.

Gäller för

Connect(IPAddress[], Int32)

Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs

Upprättar en anslutning till en fjärrvärd. Värden anges av en matris med IP-adresser och ett portnummer.

public:
 void Connect(cli::array <System::Net::IPAddress ^> ^ addresses, int port);
public void Connect(System.Net.IPAddress[] addresses, int port);
member this.Connect : System.Net.IPAddress[] * int -> unit
Public Sub Connect (addresses As IPAddress(), port As Integer)

Parametrar

addresses
IPAddress[]

IP-adresserna för fjärrvärden.

port
Int32

Portnumret för fjärrvärden.

Undantag

addresses är null.

Portnumret är inte giltigt.

Ett fel uppstod vid försök att komma åt socketen.

Socketen är inte i InterNetwork eller InterNetworkV6 familjer.

Längden addresses på är noll.

Socket har placerats i ett lyssningstillstånd genom att anropa Listen(Int32).

Exempel

Följande kodexempel ansluter till en fjärrslutpunkt och verifierar sedan anslutningen.

// Synchronous connect using Dns.GetHostAddresses to
// resolve the host name.
public static void Connect2(string host, int port)
{
    IPAddress[] IPs = Dns.GetHostAddresses(host);

    Socket s = new Socket(AddressFamily.InterNetwork,
        SocketType.Stream,
        ProtocolType.Tcp);
    Console.WriteLine("Establishing Connection to {0}",
        host);
    s.Connect(IPs, port);
    Console.WriteLine("Connection established");
}

Kommentarer

Den här metoden används vanligtvis omedelbart efter ett anrop till GetHostAddresses, som kan returnera flera IP-adresser för en enda värd. Om du använder ett anslutningsorienterat protokoll, till exempel TCP, Connect upprättar metoden synkront en nätverksanslutning mellan LocalEndPoint och den angivna fjärrslutpunkten. Om du använder ett anslutningslöst protokoll Connect upprättar du en standardvärd för fjärranslutningen. När du har ringt Connect kan du skicka data till fjärrenheten med Send metoden eller ta emot data från fjärrenheten med Receive metoden.

Om du använder ett anslutningslöst protokoll, till exempel UDP, behöver du inte anropa Connect innan du skickar och tar emot data. Du kan använda SendTo och ReceiveFrom för att kommunicera synkront med en fjärrvärd. Om du anropar Connect datagram som kommer från en annan adress än den angivna standardinställningen ignoreras. Om du vill ange standardvärden för fjärrvärden till en sändningsadress måste du först anropa SetSocketOption metoden och ange socketalternativet till SocketOptionName.Broadcasteller Connect utlösa en SocketException. Om du får en SocketExceptionanvänder du SocketException.ErrorCode egenskapen för att hämta den specifika felkoden. När du har fått den här koden läser du felkoden Windows Sockets version 2 för en detaljerad beskrivning av felet.

Connect -metoden blockeras, såvida du inte specifikt anger Blocking egenskapen till false innan du anropar Connect. Om du använder ett anslutningsorienterat protokoll som TCP och inaktiverar blockering, Connect utlöser ett SocketException eftersom det behöver tid för att upprätta anslutningen. Anslutningslösa protokoll utlöser inget undantag eftersom de bara upprättar en standardvärd för fjärranslutningen. Du kan använda SocketException.ErrorCode för att hämta den specifika felkoden. När du har fått den här koden läser du felkoden Windows Sockets version 2 för en detaljerad beskrivning av felet. Om felet returnerade WSAEWOULDBLOCK har fjärrvärdanslutningen initierats av en anslutningsorienterad Socket, men har ännu inte slutförts. Poll Använd metoden för att avgöra när Socket anslutningen är klar.

Note

Om du använder ett anslutningsorienterat protokoll och inte anropade Bind innan du anropade Connecttilldelar den underliggande tjänstleverantören den lokala nätverksadressen och portnumret. Om du använder ett anslutningslöst protokoll tilldelar tjänstleverantören inte någon lokal nätverksadress och portnummer förrän du har slutfört en sändnings- eller mottagningsåtgärd. Om du vill ändra standardvärden för fjärranslutning anropar Connect du igen med önskad slutpunkt.

Note

Om socketen tidigare har kopplats från kan du inte använda den här metoden för att återställa anslutningen. Använd någon av de asynkrona BeginConnect metoderna för att återansluta. Det här är en begränsning för den underliggande providern.

Note

Den här medlemmen matar ut spårningsinformation när du aktiverar nätverksspårning i ditt program. Mer information finns i Network Tracing in .NET Framework.

Gäller för

Connect(String, Int32)

Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs

Upprättar en anslutning till en fjärrvärd. Värden anges med ett värdnamn och ett portnummer.

public:
 void Connect(System::String ^ host, int port);
public void Connect(string host, int port);
member this.Connect : string * int -> unit
Public Sub Connect (host As String, port As Integer)

Parametrar

host
String

Namnet på fjärrvärden.

port
Int32

Portnumret för fjärrvärden.

Undantag

host är null.

Portnumret är inte giltigt.

Ett fel uppstod vid försök att komma åt socketen.

Socketen är inte i InterNetwork eller InterNetworkV6 familjer.

Socket har placerats i ett lyssningstillstånd genom att anropa Listen(Int32).

Exempel

Följande kodexempel ansluter till en fjärrslutpunkt och verifierar sedan anslutningen.

// Synchronous connect using host name (resolved by the
// Connect call.)
public static void Connect3(string host, int port)
{
    Socket s = new Socket(AddressFamily.InterNetwork,
        SocketType.Stream,
        ProtocolType.Tcp);

    Console.WriteLine("Establishing Connection to {0}",
        host);
    s.Connect(host, port);
    Console.WriteLine("Connection established");
}

Kommentarer

Om du använder ett anslutningsorienterat protokoll, till exempel TCP, Connect upprättar metoden synkront en nätverksanslutning mellan LocalEndPoint och den angivna fjärrvärden. Om du använder ett anslutningslöst protokoll Connect upprättar du en standardvärd för fjärranslutningen. När du har ringt Connect kan du skicka data till fjärrenheten med Send metoden eller ta emot data från fjärrenheten med Receive metoden.

Om du använder ett anslutningslöst protokoll, till exempel UDP, behöver du inte anropa Connect innan du skickar och tar emot data. Du kan använda SendTo och ReceiveFrom för att kommunicera synkront med en fjärrvärd. Om du anropar Connect datagram som kommer från en annan adress än den angivna standardinställningen ignoreras. Om du vill ange standardvärden för fjärrvärden till en sändningsadress måste du först anropa SetSocketOption metoden och ange socketalternativet till SocketOptionName.Broadcasteller Connect utlösa en SocketException. Om du får en SocketExceptionanvänder du SocketException.ErrorCode egenskapen för att hämta den specifika felkoden. När du har fått den här koden läser du felkoden Windows Sockets version 2 för en detaljerad beskrivning av felet.

Metoden Connect blockeras, såvida du inte specifikt anger Blocking egenskapen till false innan du anropar Connect. Om du använder ett anslutningsorienterat protokoll som TCP och inaktiverar blockering, Connect utlöser ett SocketException eftersom det behöver tid för att upprätta anslutningen. Anslutningslösa protokoll utlöser inget undantag eftersom de bara upprättar en standardvärd för fjärranslutningen. Du kan använda SocketException.ErrorCode för att hämta den specifika felkoden. När du har fått den här koden läser du felkoden Windows Sockets version 2 för en detaljerad beskrivning av felet. Om felet returnerade WSAEWOULDBLOCK har fjärrvärdanslutningen initierats av en anslutningsorienterad Socket, men har ännu inte slutförts. Poll Använd metoden för att avgöra när Socket anslutningen är klar.

Om IPv6 är aktiverat och Connect(String, Int32) metoden anropas för att ansluta till en värd som matchar både IPv6- och IPv4-adresser, görs ett försök att ansluta till IPv6-adressen först före IPv4-adressen. Detta kan medföra att tiden för att upprätta anslutningen fördröjs om värden inte lyssnar på IPv6-adressen.

Note

Om du använder ett anslutningsorienterat protokoll och inte anropade Bind innan du anropade Connecttilldelar den underliggande tjänstleverantören den lokala nätverksadressen och portnumret. Om du använder ett anslutningslöst protokoll tilldelar tjänstleverantören inte någon lokal nätverksadress och portnummer förrän du har slutfört en sändnings- eller mottagningsåtgärd. Om du vill ändra standardvärden för fjärranslutning anropar Connect du igen med önskad slutpunkt.

Note

Om socketen tidigare har kopplats från kan du inte använda den här metoden för att återställa anslutningen. Använd någon av de asynkrona BeginConnect metoderna för att återansluta. Det här är en begränsning för den underliggande providern.

Note

Den här medlemmen matar ut spårningsinformation när du aktiverar nätverksspårning i ditt program. Mer information finns i Network Tracing in .NET Framework.

Gäller för