Jeg har et tip hvis det er sådan at du vil kunne have at flere tilkobler din
service på en gang:
--- Start på kode ---
Option Explicit
Dim CPort as Integer
Private Sub Form1_Load()
CPort = 4356 'Bare en tilfældig port at starte på
Winsock(0).LocalPort = 1001
CloseSocket 0
Winsock(0).Listen
End Sub
Private Sub CloseSocket(Index as Integer)
Winsock(Index).Close
Do Until Winsock(Index).State = 0
DoEvents
Loop
End Sub
Private Sub ConnectionRequest(requestID as Long)
Dim Found as Integer
Dim X as Integer
'Søger efter en ledig socket
For X = 1 To Winsock.UBound
If Winsock(X).State = 0 Then
Found = X
Exit For
End If
Next X
'Hvis ingen ledige sockets fundet, opretter den en ny
If Found = 0 Then
Load Winsock(Winsock.UBound + 1)
Found = Winsock(Winsock.UBound)
End If
'Tildeler den ingående forbindelse til denne socket
CloseSocket Found
Do
Err.Clear
Winsock(X).LocalPort = CPort
CPort = CPort + 1
Winsock(X).Accept requestID
If Err = 0 Then Exit Do
Loop
Do Until Winsock(X).State = 7
DoEvents
Loop
End Sub
--- Slut på kode ---
På denne måde forhindres det at en forbindelse bliver afvist, pga der
allerede er forbindelser til denne port
Kristian Trenskow
"Erlend Klakegg Bergheim" <erlendkb@c2i.net> wrote in message
news:oGg67.556$4E6.11242@news1.oke.nextra.no...
> Jeg får feilen "Invalid operation at current state" (40020). Kodingen er
> ganske grei ...
>
> Sakset ut :
>
> Private Sub MDIForm_Load()
>
> Load Winsock(1)
> Winsock(1).LocalPort = 1001
> Winsock(1).Listen
>
> End Sub
>
> Private Sub Winsock_ConnectionRequest(Index As Integer, ByVal requestID As
> Long)
>
> 'HER oppstår feilen !!!!!!!!
> Winsock(1).Accept requestID 'Aksepterer tilkobling
>
> End Sub
>
> Private Sub Winsock_DataArrival(Index As Integer, ByVal bytesTotal As
Long)
>
> Dim Temp As String
> Winsock1.GetData Temp
>
> MsgBox Temp
>
> End Sub
>
> Håper det er noen som kan fortelle meg hva jeg gjør feil ...
> Winsock-kontrollen er stillt inn på TCP ...
>
> --
>
> Vennlig hilsen Erlend
> erlendkb@c2i.net
> ICQ 42053660
>
http://www.kleggen.com/
>
>