422 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			VB.net
		
	
	
	
	
	
			
		
		
	
	
			422 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			VB.net
		
	
	
	
	
	
| Option Strict On
 | |
| 
 | |
| ''' <summary>
 | |
| ''' Provides data for the Winsock.ErrorReceived event.
 | |
| ''' </summary>
 | |
| Public Class WinsockErrorReceivedEventArgs
 | |
|     Inherits System.EventArgs
 | |
| 
 | |
|     Private m_errorMsg As String
 | |
|     Private m_function As String
 | |
|     Private m_errorCode As System.Net.Sockets.SocketError
 | |
|     Private m_Details As String
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Initializes a new instance of the WinsockErrorEventArgs class.
 | |
|     ''' </summary>
 | |
|     ''' <param name="error_message">A String containing the error message.</param>
 | |
|     Public Sub New(ByVal error_message As String)
 | |
|         Me.New(error_message, Nothing)
 | |
|     End Sub
 | |
|     ''' <summary>
 | |
|     ''' Initializes a new instance of the WinsockErrorEventArgs class.
 | |
|     ''' </summary>
 | |
|     ''' <param name="error_message">A String containing the error message.</param>
 | |
|     ''' <param name="function_name">A String containing the name of the function that produced the error.</param>
 | |
|     Public Sub New(ByVal error_message As String, ByVal function_name As String)
 | |
|         Me.New(error_message, function_name, Nothing)
 | |
|     End Sub
 | |
|     ''' <summary>
 | |
|     ''' Initializes a new instance of the WinsockErrorEventArgs class.
 | |
|     ''' </summary>
 | |
|     ''' <param name="error_message">A String containing the error message.</param>
 | |
|     ''' <param name="function_name">A String containing the name of the function that produced the error.</param>
 | |
|     ''' <param name="extra_details">A String containing extra details for the error message.</param>
 | |
|     Public Sub New(ByVal error_message As String, ByVal function_name As String, ByVal extra_details As String)
 | |
|         Me.New(error_message, function_name, extra_details, Net.Sockets.SocketError.Success)
 | |
|     End Sub
 | |
|     ''' <summary>
 | |
|     ''' Initializes a new instance of the WinsockErrorEventArgs class.
 | |
|     ''' </summary>
 | |
|     ''' <param name="error_message">A String containing the error message.</param>
 | |
|     ''' <param name="function_name">A String containing the name of the function that produced the error.</param>
 | |
|     ''' <param name="extra_details">A String containing extra details for the error message.</param>
 | |
|     ''' <param name="error_code">A value containing the socket's ErrorCode.</param>
 | |
|     Public Sub New(ByVal error_message As String, ByVal function_name As String, ByVal extra_details As String, ByVal error_code As System.Net.Sockets.SocketError)
 | |
|         m_errorMsg = error_message
 | |
|         m_function = function_name
 | |
|         m_Details = extra_details
 | |
|         m_errorCode = error_code
 | |
|     End Sub
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value containing the error message.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property Message() As String
 | |
|         Get
 | |
|             Return m_errorMsg
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value containing the name of the function that produced the error.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property [Function]() As String
 | |
|         Get
 | |
|             Return m_function
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the error code returned by the socket.
 | |
|     ''' </summary>
 | |
|     ''' <remarks>If it wasn't returned by the socket, it defaults to success.</remarks>
 | |
|     Public ReadOnly Property ErrorCode() As System.Net.Sockets.SocketError
 | |
|         Get
 | |
|             Return m_errorCode
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value containing more details than the typical error message.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property Details() As String
 | |
|         Get
 | |
|             Return m_Details
 | |
|         End Get
 | |
|     End Property
 | |
| End Class
 | |
| 
 | |
| ''' <summary>
 | |
| ''' Provides data for the Winsock.ConnectionRequest event.
 | |
| ''' </summary>
 | |
| Public Class WinsockConnectionRequestEventArgs
 | |
|     Inherits System.EventArgs
 | |
| 
 | |
|     Private _client As System.Net.Sockets.Socket
 | |
|     Private _cancel As Boolean = False
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Initializes a new instance of the WinsockClientReceivedEventArgs class.
 | |
|     ''' </summary>
 | |
|     ''' <param name="new_client">A Socket object containing the new client that needs to be accepted.</param>
 | |
|     Public Sub New(ByVal new_client As System.Net.Sockets.Socket)
 | |
|         _client = new_client
 | |
|     End Sub
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value containing the client information.
 | |
|     ''' </summary>
 | |
|     ''' <remarks>Used in accepting the client.</remarks>
 | |
|     Public ReadOnly Property Client() As System.Net.Sockets.Socket
 | |
|         Get
 | |
|             Return _client
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value containing the incoming clients IP address.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property ClientIP() As String
 | |
|         Get
 | |
|             Dim rEP As System.Net.IPEndPoint = CType(_client.RemoteEndPoint, System.Net.IPEndPoint)
 | |
|             Return rEP.Address.ToString()
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets or sets a value indicating whether the incoming client request should be cancelled.
 | |
|     ''' </summary>
 | |
|     Public Property Cancel() As Boolean
 | |
|         Get
 | |
|             Return _cancel
 | |
|         End Get
 | |
|         Set(ByVal value As Boolean)
 | |
|             _cancel = value
 | |
|         End Set
 | |
|     End Property
 | |
| End Class
 | |
| 
 | |
| ''' <summary>
 | |
| ''' Provides data for the Winsock.StateChanged event.
 | |
| ''' </summary>
 | |
| Public Class WinsockStateChangedEventArgs
 | |
|     Inherits System.EventArgs
 | |
| 
 | |
|     Private m_OldState As WinsockStates
 | |
|     Private m_NewState As WinsockStates
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Initializes a new instance of the WinsockStateChangingEventArgs class.
 | |
|     ''' </summary>
 | |
|     ''' <param name="oldState">The old state of the Winsock control.</param>
 | |
|     ''' <param name="newState">The state the Winsock control is changing to.</param>
 | |
|     Public Sub New(ByVal oldState As WinsockStates, ByVal newState As WinsockStates)
 | |
|         m_OldState = oldState
 | |
|         m_NewState = newState
 | |
|     End Sub
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the previous state of the Winsock control.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property Old_State() As WinsockStates
 | |
|         Get
 | |
|             Return m_OldState
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the new state of the Winsock control.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property New_State() As WinsockStates
 | |
|         Get
 | |
|             Return m_NewState
 | |
|         End Get
 | |
|     End Property
 | |
| End Class
 | |
| 
 | |
| ''' <summary>
 | |
| ''' Provides data for the Winsock.DataArrival event.
 | |
| ''' </summary>
 | |
| Public Class WinsockDataArrivalEventArgs
 | |
|     Inherits System.EventArgs
 | |
| 
 | |
|     Private _bTotal As Integer
 | |
|     Private _IP As String
 | |
|     Private _Port As Integer
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Initializes a new instance of the WinsockDataArrivalEventArgs class.
 | |
|     ''' </summary>
 | |
|     ''' <param name="bytes_total">The number of bytes that were received.</param>
 | |
|     ''' <param name="source_ip">The source address of the bytes.</param>
 | |
|     ''' <param name="source_port">The source port of the bytes.</param>
 | |
|     Public Sub New(ByVal bytes_total As Integer, ByVal source_ip As String, ByVal source_port As Integer)
 | |
|         _bTotal = bytes_total
 | |
|         _IP = source_ip
 | |
|         _Port = source_port
 | |
|     End Sub
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the number of bytes received.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property TotalBytes() As Integer
 | |
|         Get
 | |
|             Return _bTotal
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the data's originating address.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property SourceIP() As String
 | |
|         Get
 | |
|             Return _IP
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the data's originating port.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property SourcePort() As Integer
 | |
|         Get
 | |
|             Return _Port
 | |
|         End Get
 | |
|     End Property
 | |
| End Class
 | |
| 
 | |
| ''' <summary>
 | |
| ''' Provides data for the Winsock.Connected event.
 | |
| ''' </summary>
 | |
| Public Class WinsockConnectedEventArgs
 | |
|     Inherits System.EventArgs
 | |
| 
 | |
|     Private _IP As String
 | |
|     Private _Port As Integer
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Initializes a new instance of the WinsockConnectedEventArgs class.
 | |
|     ''' </summary>
 | |
|     ''' <param name="source_ip">The source address of the connection.</param>
 | |
|     ''' <param name="source_port">The source port of the connection.</param>
 | |
|     Public Sub New(ByVal source_ip As String, ByVal source_port As Integer)
 | |
|         _IP = source_ip
 | |
|         _Port = source_port
 | |
|     End Sub
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the remote address of the connection.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property SourceIP() As String
 | |
|         Get
 | |
|             Return _IP
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the remote port of the connection.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property SourcePort() As Integer
 | |
|         Get
 | |
|             Return _Port
 | |
|         End Get
 | |
|     End Property
 | |
| End Class
 | |
| 
 | |
| ''' <summary>
 | |
| ''' Provides data for the Winsock.SendComplete event.
 | |
| ''' </summary>
 | |
| Public Class WinsockSendEventArgs
 | |
|     Inherits System.EventArgs
 | |
| 
 | |
|     Private _bTotal As Integer
 | |
|     Private _bSent As Integer
 | |
|     Private _IP As String
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Initializes a new instance of the WinsockSendEventArgs class.
 | |
|     ''' </summary>
 | |
|     ''' <param name="dest_ip">The destination of the bytes sent.</param>
 | |
|     ''' <param name="bytes_sent">The total number of bytes sent.</param>
 | |
|     ''' <param name="bytes_total">The total number of bytes that were supposed to be sent.</param>
 | |
|     Public Sub New(ByVal dest_ip As String, ByVal bytes_sent As Integer, ByVal bytes_total As Integer)
 | |
|         _IP = dest_ip
 | |
|         _bTotal = bytes_total
 | |
|         _bSent = bytes_sent
 | |
|     End Sub
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the destination of the bytes sent.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property DestinationIP() As String
 | |
|         Get
 | |
|             Return _IP
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the number of bytes sent.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property BytesSent() As Integer
 | |
|         Get
 | |
|             Return _bSent
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the total number of bytes that should have been sent.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property BytesTotal() As Integer
 | |
|         Get
 | |
|             Return _bTotal
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the percentage (0-100) of bytes that where sent.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property SentPercent() As Double
 | |
|         Get
 | |
|             Return (_bSent / _bTotal) * 100
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
| End Class
 | |
| 
 | |
| ''' <summary>
 | |
| ''' Provides data for the WinsockCollection.CountChanged event.
 | |
| ''' </summary>
 | |
| Public Class WinsockCollectionCountChangedEventArgs
 | |
|     Inherits System.EventArgs
 | |
| 
 | |
|     Private _oldCount As Integer
 | |
|     Private _newCount As Integer
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Initializes a new instance of the WinsockCollectionCountChangedEventArgs class.
 | |
|     ''' </summary>
 | |
|     ''' <param name="old_count">The old number of items in the collection.</param>
 | |
|     ''' <param name="new_count">The new number of items in the collection.</param>
 | |
|     Public Sub New(ByVal old_count As Integer, ByVal new_count As Integer)
 | |
|         _oldCount = old_count
 | |
|         _newCount = new_count
 | |
|     End Sub
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the previous number of items in the collection.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property OldCount() As Integer
 | |
|         Get
 | |
|             Return _oldCount
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the current number of items in the collection.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property NewCount() As Integer
 | |
|         Get
 | |
|             Return _newCount
 | |
|         End Get
 | |
|     End Property
 | |
| End Class
 | |
| 
 | |
| ''' <summary>
 | |
| ''' Provides data for the Winsock.ReceiveProgress event.
 | |
| ''' </summary>
 | |
| Public Class WinsockReceiveProgressEventArgs
 | |
|     Inherits System.EventArgs
 | |
| 
 | |
|     Private _bTotal As Integer
 | |
|     Private _bIn As Integer
 | |
|     Private _IP As String
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Initializes a new instance of the WinsockReceiveProgressEventArgs class.
 | |
|     ''' </summary>
 | |
|     ''' <param name="source_ip">The source ip of the bytes received.</param>
 | |
|     ''' <param name="bytes_received">The total number of bytes received.</param>
 | |
|     ''' <param name="bytes_total">The total number of bytes that were supposed to be received.</param>
 | |
|     Public Sub New(ByVal source_ip As String, ByVal bytes_received As Integer, ByVal bytes_total As Integer)
 | |
|         _IP = source_ip
 | |
|         _bTotal = bytes_total
 | |
|         _bIn = bytes_received
 | |
|     End Sub
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the source of the bytes sent.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property SourceIP() As String
 | |
|         Get
 | |
|             Return _IP
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the number of bytes received.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property BytesReceived() As Integer
 | |
|         Get
 | |
|             Return _bIn
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the total number of bytes that should be received.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property BytesTotal() As Integer
 | |
|         Get
 | |
|             Return _bTotal
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
|     ''' <summary>
 | |
|     ''' Gets a value indicating the percentage (0-100) of bytes that where received.
 | |
|     ''' </summary>
 | |
|     Public ReadOnly Property ReceivedPercent() As Double
 | |
|         Get
 | |
|             Return (_bIn / _bTotal) * 100
 | |
|         End Get
 | |
|     End Property
 | |
| 
 | |
| End Class | 
