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
- TraceSource.cs
- SimpleTextLine.cs
- XmlSiteMapProvider.cs
- PeerNameResolver.cs
- QuaternionAnimationBase.cs
- HttpStreamXmlDictionaryReader.cs
- Hashtable.cs
- SqlDuplicator.cs
- AnnotationDocumentPaginator.cs
- FrugalList.cs
- OrthographicCamera.cs
- WaitHandleCannotBeOpenedException.cs
- CodeLabeledStatement.cs
- dataSvcMapFileLoader.cs
- HtmlImage.cs
- Array.cs
- ValidationRuleCollection.cs
- WebPartConnectionsCancelVerb.cs
- VisualStates.cs
- CodeCatchClauseCollection.cs
- ReturnEventArgs.cs
- RequiredAttributeAttribute.cs
- DataSourceControl.cs
- ControlCachePolicy.cs
- KeyEvent.cs
- GradientStop.cs
- CharKeyFrameCollection.cs
- TableCellAutomationPeer.cs
- Int64.cs
- UriExt.cs
- BamlRecords.cs
- MetadataArtifactLoaderCompositeFile.cs
- SessionParameter.cs
- WebPartDescription.cs
- SafeCoTaskMem.cs
- EdmItemCollection.cs
- WindowsGraphicsCacheManager.cs
- smtpconnection.cs
- QueryOptionExpression.cs
- MemberRelationshipService.cs
- Help.cs
- FlowDocument.cs
- ViewManager.cs
- UIntPtr.cs
- URL.cs
- ControllableStoryboardAction.cs
- DataGridState.cs
- BuilderPropertyEntry.cs
- TdsRecordBufferSetter.cs
- InvokeMethod.cs
- ProfileInfo.cs
- GB18030Encoding.cs
- FrameSecurityDescriptor.cs
- CompositeActivityMarkupSerializer.cs
- ZoneIdentityPermission.cs
- UrlUtility.cs
- AutomationPeer.cs
- DropSource.cs
- ThaiBuddhistCalendar.cs
- TakeQueryOptionExpression.cs
- SafeEventLogWriteHandle.cs
- LoginUtil.cs
- NotifyInputEventArgs.cs
- bindurihelper.cs
- SamlSubject.cs
- SQLByteStorage.cs
- MethodSet.cs
- ListViewItemCollectionEditor.cs
- IsolatedStorageException.cs
- Bidi.cs
- ToolStripItemTextRenderEventArgs.cs
- TraceListener.cs
- HuffModule.cs
- ToolBarOverflowPanel.cs
- ButtonFlatAdapter.cs
- SqlAggregateChecker.cs
- DateTimeConstantAttribute.cs
- WorkflowMarkupSerializerMapping.cs
- GeneralTransformGroup.cs
- AssertFilter.cs
- CurrencyWrapper.cs
- Brush.cs
- LightweightCodeGenerator.cs
- Base64Encoder.cs
- BindingOperations.cs
- SplineKeyFrames.cs
- SecurityState.cs
- InstanceCreationEditor.cs
- _AcceptOverlappedAsyncResult.cs
- TextParaLineResult.cs
- ExtensionSimplifierMarkupObject.cs
- SessionIDManager.cs
- KeyConstraint.cs
- DbgUtil.cs
- Viewport3DAutomationPeer.cs
- XmlCustomFormatter.cs
- RouteParametersHelper.cs
- HeaderCollection.cs
- AsymmetricSignatureFormatter.cs
- AssemblyHelper.cs