Frage zu SendNetworkString()
Verfasst: 26.02.2007 21:52
Hi! Ich habe schon in der Hilfe geguckt, und auch in der Forensuche geguckt.
Also, ich habe folgendes Problem. Ich möchte einen String vom Client zum Server senden.
Die Codes:
Server:
Client:
Wenn ich den Client starte, gibt er mir "Invalid Memory Acess" aus. Irgendwas soll nicht mit SendNetworkString(Port,hallo.s) stimmen. Nur was? Ich kann den Fehler einfach nicht finden. Bin noch ein Anfänger in Sachen Server & Client. Bitte helft mir.
Ich danke im Voraus.
Also, ich habe folgendes Problem. Ich möchte einen String vom Client zum Server senden.
Die Codes:
Server:
Code: Alles auswählen
Client=3808920
If InitNetwork() = 0
MessageRequester("Error", "Can't initialize the network !", 0)
End
EndIf
Port = 6832
Buffer = AllocateMemory(1000)
If CreateNetworkServer(0, Port)
MessageRequester("PureBasic - Server", "Server created (Port "+Str(Port)+").", 0)
Repeat
SEvent = NetworkServerEvent()
If SEvent
ClientID = EventClient()
Select SEvent
Case 1
MessageRequester("PureBasic - Server", "A new client has connected !", 0)
Case 2
MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a packet !", 0)
ReceiveNetworkData(ClientID, Buffer, 1000)
MessageRequester("Info", "String: "+PeekS(Buffer), 0)
Case 3
MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a file via the network !", 0)
ReceiveNetworkFile(ClientID, "C:\TEST_Network.ftp3")
Case 4
MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has closed the connexion...", 0)
Quit = 1
EndSelect
EndIf
; If NetworkClientEvent(Client)
; ReceiveNetworkData(Client,1000,1000)
; EndIf
Until Quit = 1
MessageRequester("PureBasic - Server", "Click to quit the server.", 0)
CloseNetworkServer(0)
Else
MessageRequester("Error", "Can't create the server (port in use ?).", 0)
EndIf
End
Code: Alles auswählen
InitSprite()
InitKeyboard()
If InitNetwork() = 0
MessageRequester("Error", "Can't initialize the network !", 0)
End
EndIf
Buffer=AllocateMemory(200)
Port = 6832
ConnectionID = OpenNetworkConnection("127.0.0.1", Port)
If ConnectionID
MessageRequester("PureBasic - Client", "Client connected to server...", 0)
Else
MessageRequester("PureBasic - Client", "Can't find the server (Is it launched ?).", 0)
EndIf
If ConnectionID
OpenScreen(1024,768,16,"client")
hallo.s="Hallo!"
Repeat
ExamineKeyboard()
ClearScreen(RGB(0,0,255))
If KeyboardPushed(#PB_Key_Return)
SendNetworkString(Port,hallo.s)
EndIf
;If NetworkServerEvent() = #PB_NetworkEvent_Data
;ReceiveNetworkData(Port, *Buffer, 200)
;StartDrawing(ScreenOutput())
;DrawText(0,0,"String wurde empfangen.")
;StopDrawing()
;EndIf
If KeyboardPushed(1) And ConnectionID
CloseNetworkConnection(ConnectionID)
EndIf
FlipBuffers()
Until KeyboardPushed(1)
CloseScreen()
EndIf
Ich danke im Voraus.