De-concaténer une telle chaîne n'est pas pratique.
J'ai quelques questions :
- Quelle serait la bonne taille du buffer de réception utilisé par la commande ReceiveNetworkData() ?
- J'ai des idées pour concaténer la chaîne envoyée par le client mais vous quelle méthode vous utilisez ?
Vous trouverez un exemple de serveur simplifié ainsi qu'un client simplifié envoyant plusieurs données au serveur avant de se déconnecter.
■ server.pb
Code : Tout sélectionner
If InitNetwork() = 0
Debug "Server - Can't initialize the network !"
End
EndIf
Port = 6832
*Buffer = AllocateMemory(1000)
If CreateNetworkServer(0, Port)
Debug "Server - Server created (Port "+Str(Port)+")."
Repeat
SEvent = NetworkServerEvent()
If SEvent
ClientID = EventClient()
Select SEvent
Case #PB_NetworkEvent_Connect
Debug "Server - A new client has connected !"
Case #PB_NetworkEvent_Data
Debug "Server - Client "+Str(ClientID)+" has send a packet !"
FreeMemory(*Buffer)
*Buffer = AllocateMemory(1000)
ReceiveNetworkData(ClientID, *Buffer, 1000)
Debug "Server - *Buffer: "+PeekS(*Buffer, -1, #PB_UTF8)
Case #PB_NetworkEvent_Disconnect
Debug "Server - Client " + Str(ClientID)+" has closed the connection..."
EndSelect
EndIf
ForEver
CloseNetworkServer(0)
Else
Debug "Server - Can't create the server (port in use ?)."
EndIf
Code : Tout sélectionner
If InitNetwork() = 0
MessageRequester("Error", "Can't initialize the network !", 0)
End
EndIf
Port = 6832
ConnectionID = OpenNetworkConnection("127.0.0.1", Port)
If ConnectionID
Debug "Client - Connected To server..."
Debug "Client - A string has been sent To the server ..."
For i = 0 To 10
SendNetworkString(ConnectionID, "Event 1 - " + i, #PB_UTF8)
SendNetworkString(ConnectionID, "Event 2 - " + i, #PB_UTF8)
Next
CloseNetworkConnection(ConnectionID)
Else
Debug "Client - Oops ! Can't find the server (Is it launched ?)."
EndIf
Parfois il reçoit un seul évenement envoyé par le client et parfois il en reçoit plusieurs à la suite sans aucun caractère de séparation.
Merci d'avance pour vos réponses.Debug a écrit :Server - A new client has connected !
Server - Client 37358352 has send a packet !
Server - *Buffer: Event A - 0Event B - 0
Server - Client 37358352 has send a packet !
Server - *Buffer: Event A - 1
Server - Client 37358352 has send a packet !
Server - *Buffer: Event B - 1
Server - Client 37358352 has send a packet !
Server - *Buffer: Event A - 2
Server - Client 37358352 has send a packet !
Server - *Buffer: Event B - 2
Server - Client 37358352 has send a packet !
Server - *Buffer: Event A - 3
Server - Client 37358352 has send a packet !
Server - *Buffer: Event B - 3
Server - Client 37358352 has send a packet !
Server - *Buffer: Event A - 4
Server - Client 37358352 has send a packet !
Server - *Buffer: Event B - 4
Server - Client 37358352 has send a packet !
Server - *Buffer: Event A - 5
Server - Client 37358352 has send a packet !
Server - *Buffer: Event B - 5Event A - 6Event B - 6Event A - 7Event B - 7Event A - 8Event B - 8Event A - 9Event B - 9Event A - 10Event B - 10
Server - Client 37358352 has closed the connection...