Min egen avancerede Chat m. server

Tags:    visual-basic

Jeg startede med Visual basic for kort tid siden.
Jeg har fundet begge artikler om chat mellem computere meget nyttige.

Jeg fortæller kort om hvad mit projekt indeholder:
Et server program, hvortil clienten connecter til og checker om clienten er "Up to date". Hvis den version nummeret passer, vil kliente have mulighed for at oprette bruger, eller logge ind på eksisterende.

Mit Problem -
Når en klient logger ind på chatten, vil jeg gerne have serveren til at gemme Nickname, og Winsock(x) nr i en variabel eller lign. så serveren kan lave online lister, og kontakte en bestemt klient som den kan finde via. den variabel som blev oprettet/opdateret ved login



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Jeg startede med Visual basic for kort tid siden.
Jeg har fundet begge artikler om chat mellem computere meget nyttige.

Jeg fortæller kort om hvad mit projekt indeholder:
Et server program, hvortil clienten connecter til og checker om clienten er "Up to date". Hvis den version nummeret passer, vil kliente have mulighed for at oprette bruger, eller logge ind på eksisterende.

##

Det kunne f.eks. få klient til at sende version 1.0.2 eller havd versions nummeret nu måptte være.

du kan f.esk også brug visual basic indbygget version´s nummere.

Project > [Projekt Navn] properties
og vælg Make og indstil version´s nummeret der.
så kan du bruge

App.Major & ". " & App.Minor & "." & App.Revision

til at give version med

##
Mit Problem -
Når en klient logger ind på chatten, vil jeg gerne have serveren til at gemme Nickname, og Winsock(x) nr i en variabel eller lign. så serveren kan lave online lister, og kontakte en bestemt klient som den kan finde via. den variabel som blev oprettet/opdateret ved login
[mere i din besked]


Så vidt jeg kan se så bliver Brugernavnet sat ind under alias.

og du kan vel sørger for at bruger(x) har winsock(x)
for at gemme de oplysning i en variable skal du bare.

f.esk
Info=Bruger(x).alias & "|" & winsock(x).index

det skulle virker.

hvis du har flere problemmer elelr ikke forstår det
så bare skriv.

Mvh.
Thomas Christensen
-------------------------------------------------------
Visual Basic noget for dig?
tjek Visual Basic-Gruppen
http://www.udvikleren.dk/groups/?gid=41



Jeg forstår dig ikke helt... :-)

Her er min kode når en klient connecter:

Private Sub Winsock_ConnectionRequest(Index As Integer, ByVal requestID As Long)
intConnection = intConnection + 1
Load Winsock(intConnection)
Winsock(intConnection).Accept requestID
End Sub

Og her når brugeren logger ind...:

Case "Login"
strUser = arrSplit(1)
strPass = arrSplit(2)
rs.MoveFirst
Do While rs.EOF = False
If rs!User = strUser And rs!Pass = strPass Then
Winsock(Index).SendData EncryptText("ACTION|001")
Exit Sub
End If
rs.MoveNext
Loop

Hvad skal jeg helt præcist gøre?



Jeg forstår dig ikke helt... :-)

Her er min kode når en klient connecter:

Private Sub Winsock_ConnectionRequest(Index As Integer, ByVal requestID As Long)
intConnection = intConnection + 1
Load Winsock(intConnection)
Winsock(intConnection).Accept requestID
End Sub

Og her når brugeren logger ind...:

Case "Login"
strUser = arrSplit(1)
strPass = arrSplit(2)

rs.MoveFirst
Do While rs.EOF = False
If rs!User = strUser And rs!Pass = strPass Then
Winsock(Index).SendData EncryptText("ACTION|001")
Exit Sub
End If
rs.MoveNext
Loop

Hvad skal jeg helt præcist gøre?


Du kan evt indsætte

'først skal du indsætte den linie, den gir dig på nicket.
strNick=arrSplit(3) ' forudsat at den indholder nick og
' muglihed for at splitte.
du kan f.esk lave array´s der holder styr på hvem der logge ind på hviklen sock.

så bliver det f.esk strNick(Index)=arrSplit(3)
og strUser(Index)=arrSplit(1)

og når online user listen skal sende

for x=1 to IntMax
if strUser(x)=="admin" then
winsock(x).senddata "ONline liste :)"
end if
next

Det kan du f.esk gøre.

Mvh.
-Thomas Chritstensen
-------------------------------------------------------
Visual Basic noget for dig?
tjek Visual Basic-Gruppen
http://www.udvikleren.dk/groups/?gid=41



Jeg får fejlen: Subscript out of range
Jeg har laget dette ind i mit script:
arrUser(Index) = strUser
OnlineList = ""
For x = 1 To IntMax
OnlineList = arrUser(x) & "|"
Next
For x = 1 To IntMax
If arrUser(x) <> "" Then
Winsock(x).SendData "OnlineList|" & OnlineList
End If
Next

Når jeg får fejlen, markerer den linien:
OnlineList = arrUser(x) & "|"

Hvad kan der være galt?

[Redigeret d. 26/07-04 18:34:43 af Daniel Drejer]



t