Socket.Connect Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
Undantag
remoteEP är null.
Ett fel uppstod vid försök att komma åt socketen.
Har Socket stängts.
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
- Send(Byte[], Int32, SocketFlags)
- SendTo(Byte[], Int32, Int32, SocketFlags, EndPoint)
- Receive(Byte[], Int32, SocketFlags)
- ReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint)
- LocalEndPoint
- SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)
- Blocking
- Poll(Int32, SelectMode)
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.
Har Socket stängts.
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.
Har Socket stängts.
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.
Har Socket stängts.
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.