Network? HILFE!

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Milchshake
Beiträge: 166
Registriert: 30.01.2006 17:47
Wohnort: Zwischen dem Sessel und dem Computer

Network? HILFE!

Beitrag 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
Hab jetzt PB 4.02
Muhahaha!!!!
Benutzeravatar
FGK
Beiträge: 249
Registriert: 09.01.2005 14:02
Computerausstattung: i5-4430 CPU / 8GB RAM
GeForce GT630
Windows 10 Home / 64-bit
Wohnort: Augsburg

Beitrag 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
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

zu pb werden u.a. examplesources geliefert .. guck dir da mal die
netzwerkexamples an.

Ist fast schon das was du willst.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Milchshake
Beiträge: 166
Registriert: 30.01.2006 17:47
Wohnort: Zwischen dem Sessel und dem Computer

Beitrag 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^^
Hab jetzt PB 4.02
Muhahaha!!!!
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

.. die Boardsuche und die Examples haben nichts gescheites ausgespuckt.
Bahahahaha!! Bild
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Ich werde dir dein Consolen chat schreiben, gib mir n paar minuten...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Beitrag 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?
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag 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
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
Milchshake
Beiträge: 166
Registriert: 30.01.2006 17:47
Wohnort: Zwischen dem Sessel und dem Computer

Beitrag von Milchshake »

Hehe falsche Suchwörter :oops:

Trotzdem danke ;)
Hab jetzt PB 4.02
Muhahaha!!!!
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag 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
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Antworten