Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-09-2006, 10:30   #1
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
[winsock] Test multiplayer ECCELLENTE!

Ho finito di testare il multiplayer con winsock per me winsock batte Directplay.

Download per il test:
http://www.twork.it/work/Oki_Winsock_Multiplayer.zip
sono solo 72kb

Funzionamento:
- Lanciare il server che rimane in ascolto
- Lanciare tanti client quanti si vogliono (io ne ho testati 8 con fluidità di send e recv pazzesca!!)
- Per ogni client immettere il nome del player, per migliore lettura/visualizzazione dei dati di ricezione nella console server o client è meglio digitare il nome con uguali caratteri su tutti i client tipo:
okay
ciao
pixe
ecc ecc.

Se uscite con un client esso rientrearà nel giusto id.

Vorrei sapere le vostre impressioni

grazie amici
okay è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2006, 10:35   #2
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Ciao ho provato, dopo che inserisco i nomi mi viene fuori una sfilza di ricevuto:0
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2006, 10:39   #3
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
Quote:
Originariamente inviato da MEMon
Ciao ho provato, dopo che inserisco i nomi mi viene fuori una sfilza di ricevuto:0
Ho provato anche io per vedere se avevo sbagliato a zippare.

devi lanciare il server e non digitare nulla su di esso.
Poi lanci 2 client in uno scrivi okay e premi return, i dati con un solo cient non arrivano, perchè chi invia i dati non li riceve dal server. Poi lanci l'altro client e scrivi memo e premi return.

dovresti vedere i dati in arrivo sul server e il client
okay è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2006, 10:50   #4
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Ok, credevo fosse una chat
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2006, 10:53   #5
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Ma poi che metodo userai per spedire i dati dei vari cliants? Cioè pensi di spedire ad ogni cilco di gioco?

io ci sto pensando proprio in questi giorni per il mio giochino, e in effetti è un bel problema, se spedissi ad ogni ciclo occuperei gran parte della banda, ma se spedissi meno volte potrei vedere un giocatore dove effettivamente non sta!
E' un bel casino...

I tuoi dati da spedire quanto sono grandi grosso modo?
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2006, 10:55   #6
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
Quote:
Originariamente inviato da MEMon
Ok, credevo fosse una chat
Hai visto gli ms... e pazzesco!!!

con Directplay (in Game) con solo 3 clients loggati gli ms oscillano in un range tra 0.50/140 ms
con questo netcode fatto con winsock (il mio test con 10 client) gli ms oscillano tra: 0.000 (ho dovuto aggingere %3f forse serve anche %4f) e 0.003f ms... ma non è incredibile?

Ma poi la fluidità dello scorrimento dei dati e secondo me imbarazzante
okay è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2006, 11:07   #7
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
Quote:
Originariamente inviato da MEMon
Ma poi che metodo userai per spedire i dati dei vari cliants? Cioè pensi di spedire ad ogni cilco di gioco?

io ci sto pensando proprio in questi giorni per il mio giochino, e in effetti è un bel problema, se spedissi ad ogni ciclo occuperei gran parte della banda, ma se spedissi meno volte potrei vedere un giocatore dove effettivamente non sta!
E' un bel casino...

I tuoi dati da spedire quanto sono grandi grosso modo?
Il test che stai facendo già invia i dati del multi essi sono di 172 bytes ogni invio i 172 bytes inviato sono così composti:

int id // id del giocatore
char nome // nome del player
tBikeData Data //dati della posizione del giocatore
char mess //messaggio che può essere inviato a tutti o al gruppo di gioco
//tipo blu contro bianchi solo i blu si inviano i messaggi per le proprie strategie nel game

Prova a lanciare 10 client e poi scollegane qualcuno e poi riconnettili come vuoi. I dati , che puoi monitorare, sono di una fluidità pazzesca. Ogni client non perde un colpo.

Non capisco il tuo modo di sincronizzare i client.
Io non sincronizzo nessun client.

Pensa che non uso thread. Hai notato che sincronia idati ricevuti sul server? e che velocità?

Mentre sul client i dati cmq arrivano sempre molto velocemente. Alle volte tutti in fila sono mostrati i client alle volte no. Ma la posizione del giocatore è sempre aggiornata perfettamente.


Io uso TCP, come ti dissi molto + affidabile del' UDP dove devi fare troppi controlli a mano e i dati di UDP sono inviati in sequenza non ordinata insomma è di difficile gestione.
okay è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2006, 11:10   #8
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
scusa mi sono dimenticato...

si invio i dati per frame/rate
okay è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2006, 11:22   #9
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Ma hai provato a usare questo codice realmente in rete? Provarlo in locale è estramente diverso che provarlo in rete.
Ma come lo conti il tempo? perchè mi sembra un po' improbabile che hai un ritardo di 0 ms tondi tondi.
Comunque nel server noto che a volte non riceve in ordine(sto provando con 4 clients) ma ad esempio 0110 0122 0123 0233 è normale o ti aspetti che riceva sempre con ordine 0123?

Ultima modifica di MEMon : 06-09-2006 alle 11:26.
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2006, 11:29   #10
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Io non sincronizzo i client mi limito solo a spedire la posizione del giocatore, comunque i miei dati sono all'incirca un centinaio di bytes(per ora ma penso di calare) e la banda occupata è davvero tanta se spedissi per ogni ciclo.
Suppongo che te non hai ancora fatto prove relai in rete...altrimenti te ne saresti accorto!
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2006, 11:33   #11
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Comunque a vederlo così sembra molto buono! complimenti!
Sopratutto per il fatto che non hai usato i thread, suppongo che non hai nessun metodo bloccante.
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2006, 11:55   #12
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
Quote:
Originariamente inviato da MEMon
Comunque a vederlo così sembra molto buono! complimenti!
Sopratutto per il fatto che non hai usato i thread, suppongo che non hai nessun metodo bloccante.
esatto nessun thread.
il metodo è il non-block.

cmq Directplay in locale 25/50 ms in rete 90/150 ms
winsock asincrono in locale 25/50 ms in rete 90/150 ms
winsock non-block in locale 0.000/0.003 (come hai visto) in rete lo devo provare prossimamente ti faccio sapere... ma se tanto mi dà tanto!!

sul server:
0123 sempre
sul client
0123 0123 poi può accadere sul client
0111 0011 2222 2222 2222 1111 1233 1233 poi di nuovo in sequenza 0123

ma questo è normale le posizioni e qualsiasi altro dato sul client sono mantenute, c'è lo eravamo detto.

Una cosa interessante è il server che mantiene sempre la sequenza ciò vuol dire che i dati arrivano ok.

Verso i client il server smista con if for per tutti penso che il recv sul cient sia normale che faccia così l'importante è che le posizioni siano rispettate sul client e questo è dovuto sempre ad un netcode veloce di ms come il non-block.

Ti faccio sapere in rete per il non-block ma sono fiducioso anche con pareccho client. vediamo
okay è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
Le 10 migliori offerte Amazon di Pasqua:...
Nuove fotografie dagli astronauti di Art...
La toilette della capsula Orion Integrit...
GeForce NOW: ecco tutte le novità in arr...
Il Realme 16 5G debutta sul mercato glob...
HONOR svela tre nuovi tablet: il più int...
Tineco Floor One S9 Master: aspira e pul...
Vivo X300 Ultra, il lancio globale è ini...
Offerte robot aspirapolvere Amazon: ECOV...
L'AI genera codice in 8 minuti e i senio...
Ring Intercom Audio a 44,99€ su Amazon: ...
Apple iPhone 16 crolla a 689€: ecco perc...
Google Pixel 9 a 449,90€ con caricatore ...
Ecco la top 7 delle offerte Amazon, aggi...
Ex ingegnere ammette il sabotaggio: migl...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:39.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v