Help me denken

Status
Niet open voor verdere reacties.

retsech

Gebruiker
Lid geworden
16 mei 2008
Berichten
95
Hi,

Ik ben bezig met een soort community waar je ook in een andere kamer kan om daar te chatten met anderen die daar aanwezig zijn.
Maar, hoe krijg ik dat voor elkaar?

Niet schrikken, Maar...
Ik was zonet bezig met een plan, elke kamer wordt een nieuwe server + nieuwe port. Dus ik kom zo uit bij port 38473 ^^

En me server kan dat echt niet houden. Nu ben ik bezig met het verzinnen van iets anders. Maar wat?
Ik moet zorgen dat DIE personen, op Die connectie DIE socket ontvangen enz. Met 1 server port.
 
waarom voor elke 'kamer' een andere server/poort? Waarom niet gewoon alleen een andere poort (dus, zeg, je hebt 5 kamers, en dus *maar* 5 verschillende poorten)....

:thumb:
 
Dat zal niet gaan werken. Ander idee?
Hoe doen andere games het?
 
Is er geen manier om uhm... Met een ID code zoals "123" te connecten met me server,

en dat een andere client connect met de code "321" en dan verzend de client1 een pakketje, met daarnaast zijn eigen ID code "123" dus. En dat de server het dan verzend naar de rest van de clienten, met daarbij ook de code ID, en dat hij bij de clienten alleen in werking gaat, als hij zelf ook die ID beschikt...?

Is dit niet alleen een werkende, maar ook een handige manier?
Ik vraag me af hoe andere games het doen.
 
Dat zal niet gaan werken. Ander idee?

Vertel dan eerst welke software je gebruikt/de code die je gebruikt - ik geloof namelijk dat het normaal OF via verschillende porten gaat, OF via id-codes zoals je zelf al zei.
 
VB6.0

Je verstuurd iets zoals

SendData("MSG" & text1.text")

De server ontvangt het,



If UCase$(Left$(Rdata, 3)) = "MSG" Then
Rdata = Right$(Rdata, Len(Rdata) - 3)

*hier je code*

Exit Sub
End If

Nou, zoals hij al zegt verstuurd hij een alert.
Ik heb hiernaast ook gepuzzeld om ervoor te zorgen dat hij een character op het bord enz legt, alleen wat het probleem is:

Ik ben nu zover dat mensen een eigen kamer kunnen aanmaken. Dus ik moet zorgen dat DIE mensen, DIE codes ontvangen.
Ik kwam eerst op het idee om handmatig allemaal servers en poorten te maken, na een weekje kom ik uit bij port 500 ofzo en wat het aller ergste van alles is dat de server zoveel geheugen eist. Na 5 servers (kamers) begint m'n computer al te stotteren!

Dit is dus een heel onprofessionaile en onhandige manier. Dus ik wil graag een manier om zoals alle andere games het met 1 poort en server te doen.

--------------

Het is dus onmogelijk omdat zomaar te doen, iemand is bijv in de "koffieruimte" en de andere in de "entree", en dan kom je elkaar tegen. Dat klopt gewoon niet want jullie zijn beide ergens anders snappie :P?

Dus ik heb een manier nodig om te zorgen dat alleen DIE client gebruikers DIE codes ontvangen.
 
voorbeeldje:

Code:
SendData("CRC" & text1.text
"CRC" (create chamber) zorgt voor het eit dat er een nieuwe kamer word gemaakt met parameters in text1.text
Code:
SendData("GTC" & text1.text
"GTC" (goto chamber) zorgt ervoor dat de persoon naar de kamer gaat

Dan kan je dus via een omweg (in je code) een stukje: dubbelepunt-sterretje-dubbelepunt bijvoorbeeld
Code:
SendData("MSG=koffiekamer:*:" & text1.text

dit vang je dan zo op:
Code:
If UCase$(Left$(Rdata, 3)) = "MSG" Then
  if instr(1, rdata, ":*:") then
    if  InArrayMetKamerNamen(replace(left$(rdata, instr(1,rdata,":*:")), "MSG=","")) = true then
      sKamerNaam = replace(left$(rdata, instr(1,rdata,":*:")), "MSG=","")
      sString = replace(rdata, sKamernaam, "")
      sendstringtokamer(sKamerNaam, sString)
  else
    sString = replace(rdata, sKamernaam, "")
    sendstringtokamer("lobby", sString)
    end if
  end if
end if


noot dat ik dit uit mijn hoofd deed en het nogal een omweg is I guess, maar het gaat om het idee.

Succes, :thumb:

ps. ohja, je gaat veel aan de 'instr()' functie hebben! ;)


[edit]
de 'InArrayMetKamerNamen()' funtie werkt met een simpele loop, en checkt de input met de waardes in de array. Als er een match is, stop met de functie en stuur een 'true' door
[/edit]
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan