Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Accept()

Socket System.Net.Sockets.Socket.Accept ( )
inline

Definition at line 1385 of file Socket.cs.

1386 {
1388 if (_rightEndPoint == null)
1389 {
1391 }
1392 if (!_isListening)
1393 {
1395 }
1396 if (_isDisconnected)
1397 {
1399 }
1401 if (System.Net.NetEventSource.Log.IsEnabled())
1402 {
1403 System.Net.NetEventSource.Info(this, $"SRC:{LocalEndPoint}", "Accept");
1404 }
1405 System.Net.Internals.SocketAddress socketAddress = ((_addressFamily == AddressFamily.InterNetwork || _addressFamily == AddressFamily.InterNetworkV6) ? IPEndPointExtensions.Serialize(_rightEndPoint) : new System.Net.Internals.SocketAddress(_addressFamily, SocketPal.MaximumAddressSize));
1406 if (SocketsTelemetry.Log.IsEnabled())
1407 {
1408 SocketsTelemetry.Log.AcceptStart(socketAddress);
1409 }
1410 SocketError socketError;
1411 SafeSocketHandle socket;
1412 try
1413 {
1414 socketError = SocketPal.Accept(_handle, socketAddress.Buffer, ref socketAddress.InternalSize, out socket);
1415 }
1416 catch (Exception ex)
1417 {
1418 if (SocketsTelemetry.Log.IsEnabled())
1419 {
1420 SocketsTelemetry.Log.AfterAccept(SocketError.Interrupted, ex.Message);
1421 }
1422 throw;
1423 }
1424 if (socketError != 0)
1425 {
1427 if (SocketsTelemetry.Log.IsEnabled())
1428 {
1429 SocketsTelemetry.Log.AfterAccept(socketError);
1430 }
1432 }
1433 if (SocketsTelemetry.Log.IsEnabled())
1434 {
1435 SocketsTelemetry.Log.AfterAccept(SocketError.Success);
1436 }
1438 if (System.Net.NetEventSource.Log.IsEnabled())
1439 {
1440 System.Net.NetEventSource.Accepted(socket2, socket2.RemoteEndPoint, socket2.LocalEndPoint);
1441 }
1442 return socket2;
1443 }
virtual EndPoint Create(SocketAddress socketAddress)
Definition EndPoint.cs:20
static readonly System.Net.NetEventSource Log
static void Info(object thisOrContextObject, FormattableString formattableString=null, [CallerMemberName] string memberName=null)
static void Accepted(Socket socket, object remoteEp, object localEp)
void UpdateAcceptSocketErrorForDisposed(ref SocketError socketError)
Definition Socket.cs:3814
SafeSocketHandle _handle
Definition Socket.cs:533
AddressFamily _addressFamily
Definition Socket.cs:555
Socket CreateAcceptSocket(SafeSocketHandle fd, EndPoint remoteEP)
Definition Socket.cs:3630
void UpdateStatusAfterSocketErrorAndThrowException(SocketError error, [CallerMemberName] string callerName=null)
Definition Socket.cs:3715
static string net_sockets_mustlisten
Definition SR.cs:62
static string net_sockets_mustbind
Definition SR.cs:60
static string net_sockets_disconnectedAccept
Definition SR.cs:80
Definition SR.cs:7

References System.Net.Sockets.Socket._addressFamily, System.Net.Sockets.Socket._handle, System.Net.Sockets.Socket._isDisconnected, System.Net.Sockets.Socket._isListening, System.Net.Sockets.Socket._rightEndPoint, System.Net.Sockets.SocketPal.Accept(), System.Net.NetEventSource.Accepted(), System.Net.Internals.SocketAddress.Buffer, System.Net.EndPoint.Create(), System.Net.Sockets.Socket.CreateAcceptSocket(), System.Net.NetEventSource.Info(), System.Net.Internals.SocketAddress.InternalSize, System.Net.NetEventSource.Log, System.Net.Sockets.SocketsTelemetry.Log, System.Net.Sockets.SocketPal.MaximumAddressSize, System.SR.net_sockets_disconnectedAccept, System.SR.net_sockets_mustbind, System.SR.net_sockets_mustlisten, System.Net.Sockets.IPEndPointExtensions.Serialize(), System.Net.Sockets.Socket.ThrowIfDisposed(), System.Net.Sockets.Socket.UpdateAcceptSocketErrorForDisposed(), System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(), and System.Net.Sockets.Socket.ValidateBlockingMode().

Referenced by System.Net.Sockets.TcpListener.AcceptSocket(), System.Net.Sockets.TcpListener.AcceptTcpClient(), and System.Net.FtpControlStream.QueueOrCreateDataConection().