Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- OverflowException.cs
- ArrayList.cs
- XmlILOptimizerVisitor.cs
- TransformationRules.cs
- _NegoStream.cs
- SessionStateItemCollection.cs
- ArraySubsetEnumerator.cs
- BitStream.cs
- SuppressIldasmAttribute.cs
- SecurityKeyType.cs
- TemplateBaseAction.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- TimeSpanFormat.cs
- ChangeDirector.cs
- BinaryWriter.cs
- TemplatePagerField.cs
- StyleXamlTreeBuilder.cs
- TreeNodeCollectionEditorDialog.cs
- LineInfo.cs
- CollectionContainer.cs
- HTTPNotFoundHandler.cs
- ClientSession.cs
- ProtocolsConfigurationHandler.cs
- AppDomainAttributes.cs
- XmlSchemaElement.cs
- WebConfigurationHostFileChange.cs
- ToolStripItemTextRenderEventArgs.cs
- ToolbarAUtomationPeer.cs
- StyleHelper.cs
- SqlRemoveConstantOrderBy.cs
- Matrix.cs
- ValueTypeFixupInfo.cs
- IItemProperties.cs
- NotCondition.cs
- SignatureSummaryDialog.cs
- AsyncPostBackTrigger.cs
- HtmlTableCell.cs
- ConfigUtil.cs
- TableRowCollection.cs
- DesignerRegionCollection.cs
- MultiView.cs
- DataGridViewLinkCell.cs
- TraceHwndHost.cs
- BoolLiteral.cs
- IisTraceListener.cs
- MetadataPropertyCollection.cs
- DetailsViewUpdateEventArgs.cs
- XmlNamespaceDeclarationsAttribute.cs
- ZeroOpNode.cs
- Unit.cs
- ServiceXNameTypeConverter.cs
- PageRanges.cs
- ScopelessEnumAttribute.cs
- ClientConvert.cs
- SchemeSettingElement.cs
- ListComponentEditor.cs
- WSSecurityOneDotOneSendSecurityHeader.cs
- File.cs
- RunWorkerCompletedEventArgs.cs
- ModelPerspective.cs
- SolidColorBrush.cs
- validationstate.cs
- hresults.cs
- ZoneIdentityPermission.cs
- RecognizeCompletedEventArgs.cs
- CardSpacePolicyElement.cs
- Vector3DCollection.cs
- SQLInt64.cs
- DesignerRegion.cs
- TableAutomationPeer.cs
- DesignerDataRelationship.cs
- _FtpControlStream.cs
- SelectedPathEditor.cs
- SecurityValidationBehavior.cs
- DbException.cs
- ExpressionBuilderCollection.cs
- DocumentXPathNavigator.cs
- LocatorManager.cs
- PageParser.cs
- RoutedPropertyChangedEventArgs.cs
- ItemType.cs
- ExcludePathInfo.cs
- SQLUtility.cs
- NetworkCredential.cs
- ComNativeDescriptor.cs
- Int16Converter.cs
- IFlowDocumentViewer.cs
- SafeCryptoHandles.cs
- SimpleTextLine.cs
- RandomDelaySendsAsyncResult.cs
- HttpDictionary.cs
- ImageCreator.cs
- DesignerAdapterAttribute.cs
- RoutedEventHandlerInfo.cs
- Object.cs
- DesignerListAdapter.cs
- ExpressionBuilderContext.cs
- CompiledRegexRunnerFactory.cs
- RewritingValidator.cs
- PerformanceCounterLib.cs