La recherche a retourné 41 résultats

par cowpowah
mer. 02/janv./2019 23:03
Forum : Débutants
Sujet : SQLite et thread
Réponses : 7
Vues : 1797

Re: SQLite et thread

C'est clair! C'est même un peu le contraire du principe de la base de données, mais dans certains cas particuliers... Si on veut, on peut! :)
par cowpowah
mer. 02/janv./2019 21:37
Forum : Débutants
Sujet : SQLite et thread
Réponses : 7
Vues : 1797

Re: SQLite et thread

Oui après on peut encore désactiver des sécurités (qu'on utilise jamais... :roll: ) pour gagner encore un peu plus, ou si le code permet pas de faire une transaction groupée.

Apparemment on peut même faire tourner un base de donnée en mémoire! 8O :twisted: Faut vraiment que je potasse la doc, y'a ...
par cowpowah
mar. 01/janv./2019 18:41
Forum : Débutants
Sujet : SQLite et thread
Réponses : 7
Vues : 1797

Re: SQLite et thread

Alors ça c'est génial!

Il faudrait que je me penche un peu plus sur SQLite parce que là j'ai une boucle affreuse qui marche tellement mal que je voulais la mettre dans un thread!

For i = 0 To unNombre
If OpenDatabase(0, "DB.sqlite", "", "", #PB_Database_SQLite)
DatabaseQuery(0, "SELECT * FROM ...
par cowpowah
mar. 01/janv./2019 8:31
Forum : Débutants
Sujet : SQLite et thread
Réponses : 7
Vues : 1797

SQLite et thread

Salut,

Si je lance une grosse opération d'écriture dans une base de données SQLite dans un thread, est-ce que je peux toujours accéder à cette base de donnée dans le programme principal (en dehors du thread donc)?

Et est-ce que l'option "Créer un exécutable multi threadé" est justifiée sachant que ...
par cowpowah
mar. 01/janv./2019 8:05
Forum : Débutants
Sujet : SendNetworkData?
Réponses : 14
Vues : 3811

Re: SendNetworkData?

Ah oui, c'est possible aussi... Très possible même, vu le résultat.

Je sais pas comment fonctionne précisément SendNetworkData() mais il pourrait pas vérifier comme ça:

Progress = SendNetworkData(*Request\ClientID,*Packet + Position + SentData,#__MULTIRECORDSIZE + #__HEADER_SIZE - SentData)

If ...
par cowpowah
lun. 31/déc./2018 18:49
Forum : Débutants
Sujet : SendNetworkData?
Réponses : 14
Vues : 3811

Re: SendNetworkData?

En fait si :wink: Le protocol TCP/IP découpe les 65536 octets, que tu as découpé :roll:, en segments de 1492 octets (de façon totalement automatique et invisible)

(sur wiki , voir MTU et l'exemple)

C'est pour ça que j'étais étonné de cette découpe manuelle à 65Ko, mal gérée on perd les avantages ...
par cowpowah
lun. 31/déc./2018 14:06
Forum : Débutants
Sujet : SendNetworkData?
Réponses : 14
Vues : 3811

Re: SendNetworkData?

C'est bien ce qu'il me semblait, il y deux découpages: un automatique et un manuel :roll:

Je suppose que ça permet de faire (entre autre) du load balancing pour les gros serveurs...
par cowpowah
lun. 31/déc./2018 13:50
Forum : Débutants
Sujet : ReceiveNetworkData(), PeekS() et caractère #NULL
Réponses : 20
Vues : 3888

Re: ReceiveNetworkData(), PeekS() et caractère #NULL

Le PDF c'est juste une description du protocole TCP/IP, on la trouve un peu partout (ex: wiki ) :wink:

On voit que le checksum est codé sur 16 bits.

Dans mon cas, le protocole WebSocket , si la taille de la 'frame' dépasse 65536 octets, le checksum (Extended payload length) est codé sur 64 bits ...
par cowpowah
lun. 31/déc./2018 4:24
Forum : Débutants
Sujet : ReceiveNetworkData(), PeekS() et caractère #NULL
Réponses : 20
Vues : 3888

Re: ReceiveNetworkData(), PeekS() et caractère #NULL

Je viens de vérifier pour en avoir le coeur net: les 65536 octets maximum par paquet c'est dû au protocole TCP qui code la longueur de ses paquets sur 16 bits.
Le plus grand chiffre qu'il est possible d’écrire dans 16 bit est 65536. CQFD
( source , page 21, TCP header, window size)

C'est donc une ...
par cowpowah
dim. 30/déc./2018 22:16
Forum : Débutants
Sujet : ReceiveNetworkData(), PeekS() et caractère #NULL
Réponses : 20
Vues : 3888

Re: ReceiveNetworkData(), PeekS() et caractère #NULL

djes a écrit :TCP va s'occuper de tout recoller (...) C'est à toi d'interpréter les paquets rentrants pour savoir ce que tu vas recevoir et gérer tout ça
J'ai du rater un truc...


- Il s’appelle Juste Leblanc
- Mais... Il a pas de prénom?
- Je viens de vous le dire: Juste Leblanc!
- ... :|
par cowpowah
dim. 30/déc./2018 13:36
Forum : Débutants
Sujet : SendNetworkData?
Réponses : 14
Vues : 3811

Re: SendNetworkData?

G-Rom a écrit :Le procotole TCP est limité dans la taille de ces paquets
Salut G-Rom,

Le protocol TCP ne découpe pas lui-même les paquets? (découpe coté serveur et assemblage coté client)
par cowpowah
dim. 30/déc./2018 6:00
Forum : Débutants
Sujet : ReceiveNetworkData(), PeekS() et caractère #NULL
Réponses : 20
Vues : 3888

Re: ReceiveNetworkData(), PeekS() et caractère #NULL

Les paquets que tu reçois c'est normal : ça dépend du temps qu'il fait, du trafic et de l'affluence sur le serveur.

Des fois, les paquets sont petits, des fois, carrément pas.

D'accord! Donc en fait, c'est le serveur qui découpe la frame et rajoute des caractères de fin de paquet et non ...
par cowpowah
sam. 29/déc./2018 19:18
Forum : Débutants
Sujet : ReceiveNetworkData(), PeekS() et caractère #NULL
Réponses : 20
Vues : 3888

Re: ReceiveNetworkData(), PeekS() et caractère #NULL

Bah en fait si...

ReceiveNetworkData() me fait un truc bizarre: quand je dois recevoir des frames assez grandes (variable, mais 20/30Ko minimum en général), je les reçois en plusieurs fois.

par exemple pour 1 frame de 80Ko:

Case #PB_NetworkEvent_Data

Repeat
Size = ReceiveNetworkData(connection ...
par cowpowah
sam. 29/déc./2018 0:06
Forum : Débutants
Sujet : ReceiveNetworkData(), PeekS() et caractère #NULL
Réponses : 20
Vues : 3888

Re: ReceiveNetworkData(), PeekS() et caractère #NULL

Ça donne le même résultat, à la fin de chaque bloc j'ai un retour à la ligne et ce caractère: � ("replacement character" en unicode, parait-il...)

EDIT: oubliez ça... Une erreur à la c... :mrgreen: Ma faute :oops:
par cowpowah
ven. 28/déc./2018 21:33
Forum : Débutants
Sujet : ReceiveNetworkData(), PeekS() et caractère #NULL
Réponses : 20
Vues : 3888

Re: ReceiveNetworkData(), PeekS() et caractère #NULL

Hello :)

Bon ça fonctionne en prenant la string après le caractère NULL (avec un peu de bricolage pour trouver le bon endroit) comme tu as dis, boby, merci! :wink:
netBuffer.s = PeekS(*netBuffer+skip, -1, #PB_UTF8)

par contre il m'arrive un truc bizarre: le message est envoyé en plusieurs ...