Hino trebam pomoć!

Hino trebam pomoć!

offline
  • Pridružio: 01 Nov 2005
  • Poruke: 43
  • Gde živiš: Čepin

Pozdrav svima! radim chat program te zasad imam 2 problema

1. kad se client spoji na server nepokazuje mi kako spada userlistu
a kod koji imam sada je ovaj

server
For i = 0 To Winsock.Count - 1     For j = 0 To userslist.ListCount - 1         If Winsock(i).State = sckConnected Then             Winsock(i).SendData "LOGIN" & "|" & niz(1) & "|" & userslist.List(j) & "|" & txtNaziv.Text         End If     Next j     Next i
client

Case "LOGIN" Userslist.AddItem niz(2)

2.
kad se spoji 1 korisnik na server(chat) sve je normalno no kad se spoji drugi korisnik na server on počne primat duple iste poruke,a treči opet kad se spoji dobije 3 iste poruke

kod za spajanje korisnika primanje konekcije(server)

Private Sub Winsock_ConnectionRequest(Index As Integer, ByVal requestID As Long) Load Winsock(Winsock.UBound + 1)   ' accept the incoming connection on our new control   Winsock(Winsock.UBound).Accept requestID End Sub

kada na serveru dođe kod "connect"
Case "CONNECT" userslist.AddItem (niz(1)) txthistory.Text = txthistory.Text & ("[" & Time & "] " & niz(1) & " was Login to Chat") & vbCrLf     For num = 0 To userslist.ListCount - 1         If userslist.List(num) = niz(1) Then             u = u + 1         End If         If u > 1 Then             userslist.RemoveItem (num)         For i = 0 To Winsock.Count - 1             If Winsock(i).State = 7 Then                 Winsock(i).SendData "EXISTING" & "|" & niz(1)             DoEvents             End If            Next i             End If     Next num For i = 0 To Winsock.Count - 1     For j = 0 To userslist.ListCount - 1         If Winsock(i).State = sckConnected Then             Winsock(i).SendData "LOGIN" & "|" & niz(1) & "|" & userslist.List(j) & "|" & txtNaziv.Text         End If     Next j     Next i

neznam dali treba al stavit ču kod od clienta recive data
rivate Sub Winsock_DataArrival(ByVal bytesTotal As Long) Dim data As String Dim niz() As String Dim j As Integer ' Dobivanje podataka i prepoznavanje podataka Winsock.GetData data niz() = Split(data, "|") Select Case niz(0) ' Logiranje na chat Case "LOGIN" Userslist.AddItem niz(2) Timer.Interval = 500 Label2.Caption = "one" 'Otvaranje index fila i snimanje u njega. Open App.Path & "/index.html" For Append As #1 Print #1, "<table cellspacing="; 0; " cellpadding="; 0; "><tr><td class='system'>[" & Time & "] Server: " & niz(1) & " has joined to the "; niz(3); " server!!!</td></tr></table>" Close #1 txtHistory.Refresh 'Sviranje zvuka za novog korisnika Dim newuser, variable As String     newuser = frmOptions.soundlist.ListItems(7).ListSubItems(1).Text variable = sndPlaySound(newuser, 1) 'Kada dode poruka Case "MESSAGE" Open App.Path & "/index.html" For Append As #1 Print #1, "<table cellspacing="; 0; " cellpadding="; 0; "><tr><td class='system'><tr><td class='message'>[" & Time & "] " & niz(1) & ":" & niz(2) & "</td></tr></table>" Close #1 txtHistory.Refresh 'Zvuk kad dode poruka Dim message As String     message = frmOptions.soundlist.ListItems(1).ListSubItems(1).Text     variable = sndPlaySound(message, 1)     FlashWindow frmMain.hwnd, True     'Kad netko ode s chata Case "DISCONNECT" Open App.Path & "/index.html" For Append As #1 Print #1, "<table cellspacing="; 0; " cellpadding="; 0; "><tr><td class='system'>[" & Time & "] Server: " & niz(1) & " has logoff from the net!!!</td></tr></table>" Close #1 txtHistory.Refresh 'Zvuk kad dode poruka     message = frmOptions.soundlist.ListItems(1).ListSubItems(1).Text     variable = sndPlaySound(message, 1)     FlashWindow frmMain.hwnd, True     ' Postojeći korisnik Case "EXISTING" If niz(1) = frmOptions.txtNadimak.Text And Label2 = "one" Then MsgBox "Username in use, chuse another nickname and then try to connect to server!", vbInformation Winsock.Close Userslist.Clear     cmdDisconnect.Enabled = False     cmdConnect.Enabled = True     frmOptions.opcije_frm.Enabled = True         frmMain.status.Panels.Item(1).Text = "You are dissconnected from: " & frmMain.Winsock.RemoteHost End If     ' Pogrešna lozinka Case "ERROR" If niz(1) = lozinka.Caption Then MsgBox "Wrong Password!!!!", vbInformation, "Wrong Password", , "lol" Winsock.Close Userslist.Clear     cmdDisconnect.Enabled = False     cmdConnect.Enabled = True     frmOptions.opcije_frm.Enabled = True     frmMain.status.Panels.Item(1).Text = "You are dissconnected from: " & frmMain.Winsock.RemoteHost  End If End Select     End Sub

e sjetio sam se i trečeg problema pošto koristim internet browser za prikazivanje poruka kako da napravim da kad mi dode zadnja poruka da mi prikaže nju a ne da mi vrati na početakbrowsera

hvala unaprijed molio bi ako znate da odgovorite na bilo koje pitanje odavde.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 28 Jun 2004
  • Poruke: 990
  • Gde živiš: Kucura

1) Da predpostavim niz koristi za split. U clientu kada dobijes ono LOGIN, niz(2) bi trbalo da bude ono sto je na serveru serslist.List(j) tako? E sada probaj da stavish DoEvents posle .SendData na serveru. To mi jedino pada na pamet posto nisi napisao sta tacno brlja. (Kada koristis ovu for petnju onda se desi da podatke ne posalje kako treba)

2) Ovo za duple poruke mislim da server salje vise puta. Stavi code od DataArrival sa servera

3) Ovo nikad nisam koristio, tako da.. Bebee Dol Aj ti meni pomogni pa mi reci kako se tacno zove kontrola.



offline
  • Pridružio: 01 Nov 2005
  • Poruke: 43
  • Gde živiš: Čepin

stavio sam doevents al opet ista stvar sad mi samo pokaže jednog usera i to sam prvog ili zadnjeg. mislim možda da on stavlja sve u jedan red u prvi pa zato nikad neče pokazat nabrzaka vidim kako prikaže imena u userlisti.

za ovo drugo te nekontam.

a za treče uključio sam microsoft Interner controls te sam stavio taj prozor da mi u njemu prikazuje poruke preko html kodova.

offline
  • Pridružio: 28 Jun 2004
  • Poruke: 990
  • Gde živiš: Kucura

Proveri kakve podatke klijent primi, onda ces znati u chemu nije / je problem.

Dopuna: 10 Nov 2006 14:05

Citat:Stavi code od DataArrival sa servera

offline
  • Pridružio: 01 Nov 2005
  • Poruke: 43
  • Gde živiš: Čepin

riješio sam problem nego dali je moguče napraviti da kad imam neki link u webbrowseru i kad kliknem na njega da mi se otvori neka druga forma ili nešt drugo

i dali je moguče da promenim prikaz vremena npr sad mi prikazuje sate,minute te sekunde s funkcijom Time dali je moguče izbrisat sekunde znači sam da mi prikazuje sate i minute!

Ko je trenutno na forumu
 

Ukupno su 1407 korisnika na forumu :: 53 registrovanih, 6 sakrivenih i 1348 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: amaterSRB, Apok, Atomski čoban, Batinas, bigfoot, bojank, Boris90, darcaud, darkangel, DeerHunter, Dežurni pod palubom, Djokislav, dmdr, Dorcolac, drimer, ikan, Insan, ivan1973, ivan979, kinez88, kybonacci, Litostroton, LUDI, Luka Blažević, Lukaaa, Lutvo_Redzepagic, milenko crazy north, Milometer, milos.cbr, mkukoleca, mnn2, MrNo, nebkv, Nemanja.M, nemkea71, Neretva, oganj123, Romibrat, royst33, ruger357, sap, slonic_tonic, Smajser, Srle993, suton, vathra, VJ, vobo, vukdra, wolf431, yufighter, Zimbabwe, zlaya011