Avatar billede h7iws Nybegynder
18. februar 2006 - 22:48 Der er 5 kommentarer og
1 løsning

Winsock multi-connect server/client i VB6

Det er lidt svært at formulere spørgsmålet når man ikke helt er sikker på hvad det er, men jeg forsøger her:

Emnet er Winsock i VB6 – Multiple connections, og nogle underemner …

Jeg vil gerne, hvis det er muligt, få at vide hvordan winsock hænger sammen…
Hvad gør flg. Kommandoer ?
Winsock.RemoteHost
Winsock.RemoteHostIP
Winsock.RemotePort

Hvorfor kan jeg ikke bruge det kode andre har fået til at virke fra andre spørgsmål:
Fejler ved denne linie:
Load Winsock(Instances)

Jeg gør flg.
Ny exe >
Tilføjer winsock komponent >
Laver array (kalder dem Winsock), i alt 128 stk.
Laver et tekst-vindue (text1.text og er multiline … )
Og skriver flg. Kode
’********** starter her **********
Private Instances As Long

Private Sub Form_Load()
  Text1.Text = Text1.Text & Time & " - server: " & Winsock(0).LocalHostName & " - " & Winsock(0).LocalIP & vbNewLine
  Instances = 0
  Winsock(0).LocalPort = 7777
  Text1.Text = Text1.Text & Time & " -  port: " & Winsock(0).LocalPort & vbNewLine
  Winsock(0).Listen
End Sub

Private Sub WinSock_Close(Index As Integer)
  Unload Winsock(Index)
End Sub

Private Sub WinSock_ConnectionRequest(Index As Integer, ByVal requestID As Long)
    Text1.Text = Text1.Text & Time & " - Connecting : " & Index & " - " & requestID & vbNewLine
  If Index = 0 Then
    Instances = Instances + 1
    Load Winsock(Instances)
    Winsock(Instances).LocalPort = 0
    Winsock(Instances).Accept requestID
  End If
End Sub

Private Sub WinSock_DataArrival(Index As Integer, ByVal bytesTotal As Long)
  Winsock(Index).GetData tekst, vbString
  For x = 1 To Instances
    If (Winsock(x).State = 7) And x <> Index Then
    'Hvis afsenderen også selv skal modtage det sendte ser linjen således ud:
    'If (WinSock(x).State = 7) Then
      Winsock(x).SendData tekst
    End If
  Next
  Text1.Text = Text1.Text & Time & " - Control no. " & Index & ": " & tekst & vbNewLine '(overvåg trafik)
End Sub

’********** slutter her **********

Hvad gør jeg galt, er det clienten der skal laves om ?

Håber at i kan hjælpe og evt. give lige kommentarer til winsock i det hele taget, da jeg ikke er helt sikker på at jeg har forstået hvad det egentlig går ud på.

Jeg er taknemlig for enhver form for hjælp, og hvis det er muligt, så gerne inden fredag (24/02)
På forhånd tak, Emil
Avatar billede h7iws Nybegynder
18. februar 2006 - 22:52 #1
For en god ordens skyld, så ser min client sådan her ud:
Private Sub cmdconnect_Click()
    txtchat.Text = txtchat.Text & "Connecting to " & txtip.Text & " port " & txtport.Text & vbNewLine
    Winsock1.Connect txtip.Text, txtport.Text
End Sub

Private Sub cmdsend_Click()
    Winsock1.SendData txtmsg.Text
    txtchat.Text = txtchat.Text & txtmsg.Text & vbNewLine
    txtmsg.Text = ""
End Sub

Private Sub Form_Load()
    txtip.Text = Winsock1.LocalIP
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Winsock1.GetData dataArrived, vbString
    txtchat.Text = txtchat.Text & dataArrived & vbNewLine
End Sub

Håber at en venlig sjæl kan hjælpe mig :)
Avatar billede sjh Nybegynder
19. februar 2006 - 00:48 #2
måske skulle du prøve at besøge http://www.winsockvb.com/ her kan du få en masse afvide om winsock.. fx.

http://www.winsockvb.com/article.php?article_id=18
og
http://www.winsockvb.com/article.php?article_id=19
Avatar billede h7iws Nybegynder
19. februar 2006 - 02:06 #3
Fuck man ... har læst 3 tutorials, men må indrømme at det er denne her er hvad jeg har søgt efter, den er seriøst god...
Lige i øjet, smid et svar og få dine velfortjente point !

Takker for hjælpen ...
:D
Avatar billede sjh Nybegynder
19. februar 2006 - 15:13 #4
Ja de bedste sider er dem som kun beskæftiger sig med en ting af gangen :D
Avatar billede sjh Nybegynder
19. februar 2006 - 15:20 #5
Du kan lige smide et svar selv.. og give mig 60 point mere behøver jeg ikke at ha for et link :D
Avatar billede h7iws Nybegynder
19. februar 2006 - 17:41 #6
Jeg takker ... :D
Har læst lidt på sagerne og løst en del problemer nu !

Har faktisk fundet en hel anden måde (meget smartere) at gøre det hele på ...

Mvh Emil
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester