Verfasst: 13.12.2004 21:49
so des ist jetzt der vollkommene code
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
bitte helft mir 
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()
Endachja 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