console-chat

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

so des ist jetzt der vollkommene code

Code: Alles auswählen

OpenConsole()                                  
ConsoleTitle ("Client") 
ConsoleColor(2,0)
ConsoleLocate (13,12)                          
Print ("Bitte gib deinen Chatnamen ein: ")          
Name$=Input()                                  
    
ClearConsole() 
PrintN("Willkommen in Thirds Chat") 
InitNetwork() 
PrintN ("Verbindung zum Netzwerk hergestellt")
ClientConnectionID = OpenNetworkConnection("ip", 600) 
If ClientConnectionID=0 
  ConsoleColor(12,0)
  PrintN("Server Offline,Verbindung zum Server nicht hergestellt") 
  Input() 
Else 
  PrintN("Server Online,Verbindung zum Server hergestellt") 
   *TCPBuffer = AllocateMemory(1024) 
  Repeat 
    Select NetworkClientEvent(ClientConnectionID) 
      Case 2 
        TCPBufferLength = ReceiveNetworkData(ClientConnectionID, *TCPBuffer, 1024) 
        PrintN(""+PeekS(*TCPBuffer,TCPBufferLength)) 
    EndSelect 
    Inkey$ = Inkey() 
    Inkey = Asc(Inkey$) 
    Select Inkey 
      Case 0 
        ;nix machen 
      Case 13 
        PrintN ("") 
        If Nachricht$ <> "quit" 
          SendNetworkString(ClientConnectionID, Name$ +" : "+Nachricht$) 
          Nachricht$ = "" 
        Else 
          quit = 1 
        EndIf 
      Default 
        key$ = Left(Inkey$,1) 
        Nachricht$ + key$ 
        Print(key$) 
    EndSelect 
 
    Delay(10) 
  Until quit 
    
  FreeMemory(*TCPBuffer) 
EndIf 
  
CloseConsole() 
End
so nur das problem ist,ich selber kann darauf connecten,und das mit ganz vielen clients,aber mein kumpel aber nicht warum? ich habe alles mögliche versucht,liegt es vlt am server???

achja hier der code vom server

Code: Alles auswählen

;Server 
NewList Client.l() 

InitNetwork() 
CreateNetworkServer(600) 

OpenWindow(0,100,100,500,400,#PB_Window_SystemMenu,"Server") 
CreateGadgetList(WindowID()) 
ButtonGadget(1,390,340,100,20,"Senden") 
StringGadget(3, 10, 340, 370, 20, "") 
EditorGadget(2, 10, 10, 480, 300) 
Buffer = AllocateMemory(1000) 

Repeat 
  ;Fenster 
  EventID = WindowEvent() 
  If EventID = #PB_Event_CloseWindow 
    quit = 1 
  EndIf 
  If EventID = #PB_Event_Gadget 
    If EventGadgetID()=1 
      Text$ = GetGadgetText(3) 
      ForEach Client() 
        SendNetworkString(Client(), "SERVER : " +Text$) 
      Next 
      SetGadgetText(3, "") 
    EndIf 
  EndIf 
  If EventID = 0 
    Delay(100) 
  EndIf 
  
  
  ;Server 
  SEvent.l = NetworkServerEvent() 
  
  ;If SEvent 
  
  ClientID = NetworkClientID() 
  
  Select SEvent 
    
    Case 1 
      AddGadgetItem(2, -1, "NEUER CLIENT ONLINE") 
      AddElement(Client()) 
      Client() = ClientID 
      ;SendNetworkString(ClientID, "EIN NEUER CLIENT IST ONLINE") 
      ;1: Ein neuer Client wurde mit dem Server verbunden 
      
    Case 2 
      ;MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a packet !", 0) 
      ReceiveNetworkData(ClientID, Buffer, 1000) 
      AddGadgetItem(2, -1, PeekS(Buffer)) 
      ForEach Client() 
        If Client() <> ClientID 
          SendNetworkString(Client(), PeekS(Buffer)) 
        EndIf 
      Next 
      ;MessageRequester("Info", "String: "+PeekS(Buffer), 0) 
      ; 2 : Roh-Daten wurden empfangen (können mittels ReceiveNetworkData() gelesen werden,) 
      ;Case 3 
      ;MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a file via the network !", 0) 
      ;ReceiveNetworkFile(ClientID, "C:\TEST_Network.ftp3") 
      ; 3 : Eine Datei wurde empfangen (kann mittels ReceiveNetworkFile() gelesen werden) 
    Case 4 
      MessageRequester("Member offline", "Client "+Str(ClientID)+" Hat die verbindung unterbrochen ", 0) 
     
  EndSelect 
  
  
Until quit=1 

FreeMemory(Buffer) 

End 
bitte helft mir :(
Benutzeravatar
ChaOsKid
Beiträge: 66
Registriert: 29.08.2004 15:07
Wohnort: Oktoberfest

Beitrag von ChaOsKid »

rein optisch seh ich jetzt keine fehler,
eigentlich sollte das funktionieren.
vielleicht blockiert eine firewall oder ein router (bei dir oder deinem kumpel)

mfG
Tobi
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

das hab ich mir auch gedacht,nur ich bin ohne router,und meine firewall war aus,bei ihm war die firewall auch aus,ich weiß zwar net ob der mit router unterwegs ist,aber vorgestern gings ja noch...
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

mmh jetzt funktionierts doch...danke an alle bei der hilfe :D:D:D :mrgreen:
Antworten