Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Net / System / Net / NetworkInformation / SystemTcpConnection.cs / 1 / SystemTcpConnection.cs
namespace System.Net.NetworkInformation { using System.Net; using System.Net.Sockets; using System.Security.Permissions; using System; using System.Runtime.InteropServices; using System.Collections; using System.ComponentModel; using System.Threading; ////// Represents an active Tcp connection. internal class SystemTcpConnectionInformation:TcpConnectionInformation { IPEndPoint localEndPoint; IPEndPoint remoteEndPoint; TcpState state; internal SystemTcpConnectionInformation(MibTcpRow row) { state = row.state; //port is returned in Big-Endian - most significant bit on left //unfortunately, its done at the word level and not the dword level. int localPort = row.localPort3<<24|row.localPort4<<16|row.localPort1<<8|row.localPort2; int remotePort = ((state == TcpState.Listen)?0:row.remotePort3<<24|row.remotePort4<<16|row.remotePort1<<8|row.remotePort2); //need to fix these. Currently they ---- up if high order bit is set. // uint localPort = (uint)IPAddress.HostToNetworkOrder((short)row.localPort1); // uint remotePort = (uint)IPAddress.HostToNetworkOrder((short)row.remotePort1); localEndPoint = new IPEndPoint(row.localAddr,(int)localPort); remoteEndPoint= new IPEndPoint(row.remoteAddr,(int)remotePort); } public override TcpState State{get {return state;}} public override IPEndPoint LocalEndPoint{get {return localEndPoint;}} public override IPEndPoint RemoteEndPoint{get {return remoteEndPoint;}} } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Net.NetworkInformation { using System.Net; using System.Net.Sockets; using System.Security.Permissions; using System; using System.Runtime.InteropServices; using System.Collections; using System.ComponentModel; using System.Threading; ////// Represents an active Tcp connection. internal class SystemTcpConnectionInformation:TcpConnectionInformation { IPEndPoint localEndPoint; IPEndPoint remoteEndPoint; TcpState state; internal SystemTcpConnectionInformation(MibTcpRow row) { state = row.state; //port is returned in Big-Endian - most significant bit on left //unfortunately, its done at the word level and not the dword level. int localPort = row.localPort3<<24|row.localPort4<<16|row.localPort1<<8|row.localPort2; int remotePort = ((state == TcpState.Listen)?0:row.remotePort3<<24|row.remotePort4<<16|row.remotePort1<<8|row.remotePort2); //need to fix these. Currently they ---- up if high order bit is set. // uint localPort = (uint)IPAddress.HostToNetworkOrder((short)row.localPort1); // uint remotePort = (uint)IPAddress.HostToNetworkOrder((short)row.remotePort1); localEndPoint = new IPEndPoint(row.localAddr,(int)localPort); remoteEndPoint= new IPEndPoint(row.remoteAddr,(int)remotePort); } public override TcpState State{get {return state;}} public override IPEndPoint LocalEndPoint{get {return localEndPoint;}} public override IPEndPoint RemoteEndPoint{get {return remoteEndPoint;}} } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ListViewItemEventArgs.cs
- XmlSiteMapProvider.cs
- SmtpMail.cs
- StatusBarDrawItemEvent.cs
- LinearGradientBrush.cs
- RefreshEventArgs.cs
- PeerToPeerException.cs
- Label.cs
- EventEntry.cs
- ProfileEventArgs.cs
- MemoryRecordBuffer.cs
- ParameterReplacerVisitor.cs
- Asn1IntegerConverter.cs
- ValuePattern.cs
- SecurityResources.cs
- FrameworkPropertyMetadata.cs
- TrackingRecordPreFilter.cs
- DoubleStorage.cs
- DataKeyCollection.cs
- EpmTargetPathSegment.cs
- ItemContainerGenerator.cs
- DatagramAdapter.cs
- XPathParser.cs
- Blend.cs
- Schema.cs
- InputGestureCollection.cs
- CodeParameterDeclarationExpression.cs
- HybridObjectCache.cs
- XmlNamespaceDeclarationsAttribute.cs
- SqlParameterCollection.cs
- MeasurementDCInfo.cs
- ImageCodecInfo.cs
- CodeAttributeDeclarationCollection.cs
- Point.cs
- CompensationExtension.cs
- PublisherMembershipCondition.cs
- Process.cs
- ViewKeyConstraint.cs
- XpsS0ValidatingLoader.cs
- MembershipSection.cs
- CollectionExtensions.cs
- WindowsStartMenu.cs
- DataTransferEventArgs.cs
- WebServiceClientProxyGenerator.cs
- WeakReferenceEnumerator.cs
- Tile.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- TripleDES.cs
- HandleExceptionArgs.cs
- SendMailErrorEventArgs.cs
- PrivacyNoticeBindingElementImporter.cs
- DocumentViewerHelper.cs
- ClientEventManager.cs
- DataGridViewCellEventArgs.cs
- NumberSubstitution.cs
- FrameworkTextComposition.cs
- FilterUserControlBase.cs
- WebPartTransformer.cs
- NamedObject.cs
- Compensation.cs
- ModifiableIteratorCollection.cs
- UpdateManifestForBrowserApplication.cs
- AVElementHelper.cs
- PageBuildProvider.cs
- TextFormatterContext.cs
- CommentAction.cs
- HashHelpers.cs
- HyperLinkColumn.cs
- Image.cs
- X509RawDataKeyIdentifierClause.cs
- SymLanguageVendor.cs
- InheritanceAttribute.cs
- SQLDecimalStorage.cs
- DataGridViewRowPrePaintEventArgs.cs
- SimpleRecyclingCache.cs
- _ServiceNameStore.cs
- SingleResultAttribute.cs
- ReaderContextStackData.cs
- GlyphManager.cs
- DiffuseMaterial.cs
- SqlFormatter.cs
- CopyOnWriteList.cs
- SqlBulkCopy.cs
- BeginEvent.cs
- EncryptedXml.cs
- Parameter.cs
- DuplicateWaitObjectException.cs
- StringUtil.cs
- SystemWebSectionGroup.cs
- TemplatePropertyEntry.cs
- StaticFileHandler.cs
- LayoutManager.cs
- NameScope.cs
- CqlParser.cs
- PeerName.cs
- PathParser.cs
- PeerUnsafeNativeMethods.cs
- BindingContext.cs
- AtomServiceDocumentSerializer.cs
- ItemCollection.cs