Articles of tcp

La porta cambia quando una connessione TCP viene accettata da un server?

Quando un client si connette a un server tramite TCP, viene creato un nuovo socket per il stream TCP. La connessione rimane sulla stessa porta della connessione o viene modificata in un’altra porta?

Qual è il costo di molti TIME_WAIT sul lato server?

Supponiamo che ci sia un client che crea molte connessioni di breve durata con un server. Se il client chiude la connessione, ci saranno molte porte nello stato TIME_WAIT sul lato client. Poiché il client esaurisce le porte locali, diventa imansible effettuare rapidamente un nuovo tentativo di connessione. Se il server chiude la connessione, vedrò […]

come ottenere l’indirizzo MAC di un client da HttpServlet?

Mi è stato chiesto di scrivere un servlet che raccolga i dettagli del cliente come ip, mac address ecc. ottenere il suo IP è piuttosto semplice ( request.getRemoteAddr() ) ma non trovo un modo elegante per ottenere il suo indirizzo MAC. Sembra ragionevole che il web server abbia accesso a dati come l’indirizzo MAC ecc., […]

NGINX per invertire le websocket proxy E abilitare SSL (wss: //)?

Sono così perso e nuovo nella creazione di NGINX da solo, ma voglio essere in grado di abilitare le websocket sicure senza avere un livello aggiuntivo. Non voglio abilitare SSL sul server websocket ma preferisco usare NGINX per aggiungere un layer SSL all’intero progetto. Ogni pagina web là fuori dice che non posso farlo, ma […]

Server TCP ad alte prestazioni in C #

Sono uno sviluppatore C # esperto, ma finora non ho sviluppato un’applicazione server TCP. Ora devo sviluppare un server altamente scalabile e ad alte prestazioni in grado di gestire almeno 5-10.000 connessioni simultanee: ottenere -raw byte-dati tramite GPRS dai dispositivi GPS. Un processo di comunicazione comune dovrebbe assomigliare a questo: Il dispositivo GPS avvia una […]

Devo eseguire un heartbeat per mantenere aperta una connessione TCP?

Ho due componenti che comunicano via TCP / IP. Il componente A funge da server / listener e il componente B è il client. I due dovrebbero comunicare il più rapidamente ansible. Può esserci sempre una sola connessione in qualsiasi momento (anche se questo è da parte per questa domanda). Uno sviluppatore senior della mia […]

Boost :: Asio: io_service.run () vs sondaggio () o come integrare boost :: asio in mainloop

Attualmente sto provando a usare boost :: asio per alcune semplici operazioni di tcp per la prima volta, e mi sono imbattuto in qualcosa che non sono davvero sicuro di come affrontare. Per quanto ne so io, il metodo io_service.run () è fondamentalmente un ciclo che viene eseguito finché non rimane più nulla da fare, […]

Cosa causa l’invio di un flag di ripristino TCP / IP (RST)?

Sto cercando di capire il motivo per cui la connessione TCP / IP della mia app continua a singhiozzare ogni 10 minuti (esattamente, entro 1-2 secondi). Ho eseguito Wireshark e ho scoperto che dopo 10 minuti di inattività l’altra estremità sta inviando un pacchetto con il flag di reset (RST). Una ricerca su google mi […]

Crea artificialmente un errore di timeout della connessione

Ho avuto un bug nel nostro software che si verifica quando ricevo un timeout della connessione. Questi errori sono molto rari (di solito quando la mia connessione viene interrotta dalla nostra rete interna). Come posso generare artificialmente questo tipo di effetto in modo da poter testare il nostro software? Se è importante, l’app è scritta […]

Pacchetti Tcp che utilizzano QTcpSocket

So che TCP garantisce che tutti i pacchetti arriveranno. Ma un pacchetto può essere separato in 2 o più? Sto usando Qt con la class QTcpSocket, e voglio sapere che il segnale ReadyRead() viene emesso solo quando arriva il pacchetto completo. O in altre parole, ha senso inviare la dimensione del pacchetto nei primi byte […]