Private Sub Socket_ConnectionRequest(Index As Integer, ByVal requestID As Long)
'Declares Memory Variables
Dim lngA As Long
Dim strRemoteIP As String
'Sets Variables
strRemoteIP = Socket(Index).RemoteHostIP
'Checks If IP's banned
If IsBanned(strRemoteIP) = True Then Exit Sub
'Loops through each Socket
For lngA = 1 To Socket.UBound
'Checks for Free Socket
If Socket(lngA).State <> 7 Then
'Closes Socket
Socket(lngA).Close
Socket(lngA).localport = 0
Socket(lngA).Accept requestID
'Removes All Data from SubSocket
Call DumpSubSocket(Index)
'Ends Execution
Exit Sub
End If
Next lngA
'Finds Upper Bound of Socket plus one
lngA = Socket.UBound + 1
'Removes All Data from SubSocket
ReDim SubSocket(lngA)
Call DumpSubSocket(CInt(lngA))
'Loads New Socket
Load Socket(lngA)
Socket(lngA).Close
Socket(lngA).localport = 0
Socket(lngA).Accept requestID
End Sub