Seite 1 von 2

Network? HILFE!

Verfasst: 02.01.2008 19:55
von Milchshake
Hi,
ich kenne mich gar nicht mit Network aus, bzw. die Hilfe, die Boardsuche und die Examples haben nichts gescheites ausgespuckt.

Desswegen würde ich es nett finden, wenn jemand für mich, so etwas wie ein ganz einfaches Consolen Chat Programm schreibt, und es dann mit Source postet.

Ich bin dankbar für jede Hilfe <)

lg Milchshake

Verfasst: 02.01.2008 20:09
von FGK
Wie würdest du auf so nen
Request oder Frage reagiern?
[Ironie]
Ich möcht ne Frau mit dicken Hupen kennen
lernen. Meine Anmachsprüche oder nur glotzen
haben nichts gebracht.
Wer kann mir so ne Busenlady aufreissen und in mein
Schlafzimmer legen? :D
[/Ironie]


Ich denk da würd dir auch der Hut hochgehen was?
Ja, so ähnlich gehts mir immer wenn ich immer wieder
Anfragen zu kompletten und am besten voll dokumentierten
Programmen lesen muß :evil:

FGK

Verfasst: 02.01.2008 20:14
von bobobo
zu pb werden u.a. examplesources geliefert .. guck dir da mal die
netzwerkexamples an.

Ist fast schon das was du willst.

Verfasst: 02.01.2008 20:20
von Milchshake
Genau das habe ich ja gemein mit Examples. Also diese habe ich mir auch angeguckt.

Ja, und es tut mir leid, wegen der Anfrage eines kompletten Codes.
Ich habe wirklich schon vieles Probiert, aber es funktioniert einfach nicht.

Soll ich mich jetzt auf die Knie setzten und betteln? Bitte^^

Verfasst: 02.01.2008 20:35
von Fluid Byte
.. die Boardsuche und die Examples haben nichts gescheites ausgespuckt.
Bahahahaha!! Bild

Verfasst: 02.01.2008 20:47
von STARGÅTE
Ich werde dir dein Consolen chat schreiben, gib mir n paar minuten...

Verfasst: 02.01.2008 20:49
von gnasen
http://www.purearea.net/pb/CodeArchiv/I ... /Client.pb

http://www.purearea.net/pb/CodeArchiv/I ... /Server.pb

hat mich zusammen in etwa 2 minuten meines Lebens gekostet... Wie lange hast du denn bitte gesucht? 1?

Verfasst: 02.01.2008 21:28
von PMV
STARGÅTE hat geschrieben:Ich werde dir dein Consolen chat schreiben, gib mir n paar minuten...
:mrgreen:
http://www.purebasic.fr/german/viewtopi ... 0&start=10
^^etwas runter scrollen :wink:

Mit dem Suchbegriff "Console Chat" übrigends auffindbar gewesen ... ich
frag mich, wie lang du wohl gesucht hast :?

MFG PMV

Verfasst: 02.01.2008 22:23
von Milchshake
Hehe falsche Suchwörter :oops:

Trotzdem danke ;)

Verfasst: 02.01.2008 23:46
von STARGÅTE
habe trotzdem n Chat geschrieben, zwar doch nicht console aber klein genug ^^
Code in PureBasic hat geschrieben:InitNetwork()

#Port = 6500

Structure Client
 ID.l
 Name$
EndStructure
Global NewList Client.Client()

Procedure Ausgabe(String$)
 AddGadgetItem(1, -1, String$)
 SetActiveGadget(1)
 SetScrollPos_(GadgetID(1),#SB_VERT1001)
 SetActiveGadget(2)
EndProcedure

Procedure.s Eingabe()
 String$ = GetGadgetText(2)
 SetGadgetText(2"")
 ProcedureReturn String$
EndProcedure

Global *LeseBuffer = AllocateMemory(1024)
Global *SchreibBuffer = AllocateMemory(1024)

Procedure ClientProcedure(Client)
 Event = NetworkClientEvent(Client) 
 Select Event
  Case #PB_NetworkEvent_Data
   ReceiveNetworkData(Client, *LeseBuffer, 1024)
   Ausgabe(PeekS(*LeseBuffer))
  EndSelect
EndProcedure 
Procedure ServerProcedure()
 Event = NetworkServerEvent() 
 Select Event
  Case #PB_NetworkEvent_Connect 
   AddElement(Client())
    Client()\ID = EventClient()
  Case #PB_NetworkEvent_Data
   ReceiveNetworkData(EventClient(), *LeseBuffer, 1024)
   If Not Client()\Name$
    ForEach Client()
     If Client()\ID = EventClient()
      Client()\Name$ = PeekS(*LeseBuffer)
     EndIf
    Next   
    PokeS(*SchreibBuffer, FormatDate("[%hh:%ii:%ss]"Date())+" CONSOLE : "+PeekS(*LeseBuffer)+" hat den Raum betreten.")
    ForEach Client()
     SendNetworkData(Client()\ID, *SchreibBuffer, 1024)
    Next   
   Else
    ForEach Client()
     If Client()\ID = EventClient()
      Name$ = Client()\Name$
     EndIf
    Next 
    PokeS(*SchreibBuffer, FormatDate("[%hh:%ii:%ss]"Date())+" "+Name$+" : "+PeekS(*LeseBuffer))
    ForEach Client()
     SendNetworkData(Client()\ID, *SchreibBuffer, 1024)
    Next   
   EndIf
  Case #PB_NetworkEvent_Disconnect
   ForEach Client()
    If Client()\ID = EventClient()
     Name$ = Client()\Name$
     DeleteElement(Client())
    EndIf
   Next   
   PokeS(*SchreibBuffer, FormatDate("[%hh:%ii:%ss]"Date())+" CONSOLE : "+Name$+" hat den Raum verlassen.")
   ForEach Client()
    SendNetworkData(Client()\ID, *SchreibBuffer, 1024)
   Next   
 EndSelect
EndProcedure 
  
OpenWindow(1,0,0,400,300,"Chat"#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
 CreateGadgetList(WindowID(1))
  EditorGadget(155390260#PB_Editor_ReadOnly)
  StringGadget(2527539020"")
  AddKeyboardShortcut(1#PB_Shortcut_Return3)
 
 Status = 1
 Ausgabe(" Einfacher Chat ")
 Ausgabe("================")
 Ausgabe("Geben sie die ServerIP ein, oder garnichts um ein Server zu erstellen:")
 
Repeat

 If Server
  ServerProcedure()
 EndIf
 If Client
  ClientProcedure(Client)
 EndIf
 
 Event = WindowEvent()
 Select Event
  Case #PB_Event_CloseWindow
   End
  Case #PB_Event_Menu
   Select EventMenu()
    Case 3
     Eingabe$ = Eingabe()
     Select Status
      Case 1
       If Eingabe$
        Ausgabe("IP: "+Eingabe$)
        Ausgabe("Verbingungsvorgang ...")
        Client = OpenNetworkConnection(Eingabe$, #Port)
        If Client
         Ausgabe(" Verbunden")
         Ausgabe("Geben sie ihren Chat-Namen ein:")
         Status = 2
        Else
         Ausgabe(" Fehlgeschlagen")
         Ausgabe("Geben sie die ServerIP ein, oder garnichts um ein Server zu erstellen:")
        EndIf
       Else
        Ausgabe("Servererstennungsvorgang ...")
        Server = CreateNetworkServer(1#Port)
        If Server
         Client = OpenNetworkConnection("127.0.0.1"#Port)
         Ausgabe(" Erstellt")
         Ausgabe("Geben sie ihren Chat-Namen ein:")
         Status = 2
        Else
         Ausgabe(" Fehlgeschlagen")
         Ausgabe("Geben sie die ServerIP ein, oder garnichts um ein Server zu erstellen:")
        EndIf
       EndIf  
      Case 2
       MeinName$ = Eingabe$
       If MeinName$
        Ausgabe("Mein Name: "+Eingabe$)
        PokeS(*SchreibBuffer, MeinName$)
        SendNetworkData(Client, *SchreibBuffer, 1024)
        Status = 3
       Else
        Ausgabe("Geben sie ihren Chat-Namen ein:")
       EndIf 
      Case 3
       PokeS(*SchreibBuffer, Eingabe$)
       SendNetworkData(Client, *SchreibBuffer, 1024)
     EndSelect  
   EndSelect
 EndSelect

ForEver