Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- ModuleConfigurationInfo.cs
- XamlBrushSerializer.cs
- SubclassTypeValidator.cs
- SystemParameters.cs
- RepeatInfo.cs
- TextChange.cs
- mongolianshape.cs
- GroupBoxRenderer.cs
- ReflectTypeDescriptionProvider.cs
- AssemblyNameProxy.cs
- CompositeActivityMarkupSerializer.cs
- GC.cs
- MetadataItemSerializer.cs
- DataGridCell.cs
- ValueUtilsSmi.cs
- TextTreeExtractElementUndoUnit.cs
- CompiledQuery.cs
- SortQuery.cs
- XPathNodeInfoAtom.cs
- TextTreeObjectNode.cs
- PerspectiveCamera.cs
- Helpers.cs
- ReadWriteSpinLock.cs
- XmlEntityReference.cs
- ElementNotEnabledException.cs
- XmlQueryContext.cs
- CheckBoxPopupAdapter.cs
- XmlILAnnotation.cs
- BuildManager.cs
- XamlContextStack.cs
- WindowsListBox.cs
- RoutedPropertyChangedEventArgs.cs
- validationstate.cs
- InlineObject.cs
- LoadedEvent.cs
- ContextBase.cs
- PocoEntityKeyStrategy.cs
- ArgumentException.cs
- SqlIdentifier.cs
- WpfXamlType.cs
- PrincipalPermission.cs
- SafeFileHandle.cs
- WsatConfiguration.cs
- CompilerGlobalScopeAttribute.cs
- ReadOnlyTernaryTree.cs
- WebPartCloseVerb.cs
- EventWaitHandleSecurity.cs
- RealizationContext.cs
- TextFragmentEngine.cs
- HttpVersion.cs
- WebPartZone.cs
- XmlQueryType.cs
- DataObject.cs
- RegexRunnerFactory.cs
- XpsResourcePolicy.cs
- SystemColors.cs
- InkCanvasSelection.cs
- Graphics.cs
- DesignerView.xaml.cs
- XslTransform.cs
- TextEditorMouse.cs
- SystemIPGlobalStatistics.cs
- InputProviderSite.cs
- IUnknownConstantAttribute.cs
- UntrustedRecipientException.cs
- CalendarItem.cs
- SQLUtility.cs
- InternalBufferOverflowException.cs
- Misc.cs
- AsyncStreamReader.cs
- AuthenticationSection.cs
- ETagAttribute.cs
- NamedElement.cs
- ServiceControllerDesigner.cs
- LicenseContext.cs
- XmlQualifiedName.cs
- ThreadNeutralSemaphore.cs
- SchemaImporterExtensionsSection.cs
- EntityWithKeyStrategy.cs
- SecurityTokenRequirement.cs
- ConfigXmlText.cs
- ContentType.cs
- baseaxisquery.cs
- ToolTip.cs
- AssemblyAssociatedContentFileAttribute.cs
- RangeBase.cs
- InvalidPipelineStoreException.cs
- HttpInputStream.cs
- ISAPIWorkerRequest.cs
- ScriptComponentDescriptor.cs
- UseAttributeSetsAction.cs
- DataBoundLiteralControl.cs
- WaitForChangedResult.cs
- Wildcard.cs
- WarningException.cs
- Missing.cs
- NullableConverter.cs
- RTLAwareMessageBox.cs
- ArgIterator.cs
- HostedElements.cs