Articles of tcp

Dati TCP occasionalmente ricevuti in ordine errato e incompleti

Ho creato l’applicazione TCP Server in Java e un’applicazione client in C #. Quando invio i dati, il client a volte riceve dati fuori servizio e talvolta le parti mancano del tutto. Fondamentalmente, il codice che uso nel server (java) è simile a questo (spogliato): ServerSocket welcomeSocket = new ServerSocket(port); Socket connectionSocket = welcomeSocket.accept(); outputStream […]

Telegramma di messaggi TCP / IP

Ho creato un server / client TCP / IP, è asincrono ma concatena i messaggi. Come faccio correttamente ad aggiungere un’intestazione all’inizio e poi usare un generatore di stringhe alla fine per non concatenare i messaggi completi. Messaggio di lettura del server: Private Sub ReadCallback(ByVal result As IAsyncResult) Try allDone.Set() Dim success As Boolean = […]

Errori di connessione TCP sporadici (WSAEHOSTUNREACH)

In una rete locale gigabit, ho un’applicazione che utilizza un singolo server TCP e molti client. Ogni client esegue il ping del server ogni 30 secondi, aprendo una connessione TCP, inviandogli un messaggio di stato e chiudendo. Il server è configurato utilizzando SocketAsyncEventArgs modo molto simile all’esempio mostrato QUI (omesso per brevità) I client avviano […]

Port Stuck in Time_Wait

Ho un tunnel TCP in C #. Devo aprire e chiudere il tunnel che è la mia app tra un server e un client. Lo sto utilizzando per chiudere la connessione dati per testare un’altra app. Devo usare porte particolari. Al secondo, terzo, nesimo collegamento a seconda di quanto tempo devo attendere per riconnetterlo, ricevo […]

Socket TCP asincroni C #: gestione della dimensione del buffer e trasferimenti enormi

Quando si utilizza un socket TCP di blocco, non è necessario specificare una dimensione del buffer. Per esempio: using (var client = new TcpClient()) { client.Connect(ServerIp, ServerPort); using (reader = new BinaryReader(client.GetStream())) using (writer = new BinaryWriter(client.GetStream())) { var byteCount = reader.ReadInt32(); reader.ReadBytes(byteCount); } } Si noti come l’host remoto potrebbe aver inviato un numero […]

Il socket del server si blocca in Close_Wait

Lo scenario è il seguente: Sto inviando una mole di dati ai clienti dalla mia applicazione server C #. Improvvisamente il stream di dati si è interrotto, nessun aggiornamento dati nel lato client e la porta viene bloccata. Quando ciò si verifica, i sintomi lato server sono Close_Wait in quella porta (netstat) L’operazione bloccherebbe (codice […]

SQL che rifiuta la connessione nel test di carico

Sto eseguendo un test di carico sul mio sistema. A un certo livello di carico, inizio a ricevere errori SQL nel mio log: System.Data.SqlClient.SqlException (0x80131904): si è verificato un errore relativo alla rete o specifico dell’istanza durante la creazione di una connessione a SQL Server. Il server non è stato trovato o non era accessibile. […]

monitorare il traffico http in entrata / in uscita con .net

Voglio scrivere una piccola applicazione in grado di: 1. monitorare gli URL richiesti tramite un browser web e / o 2. monitorare le risposte http in arrivo sulla macchina locale Ho fatto qualche ricerca su Google, ma non trovo risposte chiare. Sto pensando forse a System.Net.Sockets.TCPListener e ci sto scherzando, ma ho l’impressione che non […]

Devo proteggere i miei messaggi con la sum di controllo quando utilizzo TCP?

Usando TCP come protocollo di rete, prefisso la dimensione (e potenzialmente il checksum?) Di ciascun messaggio prima di inviare il messaggio attraverso il filo. Mi piacerebbe sapere, ha senso calcolare e trasmettere il checksum del messaggio, per garantire che il messaggio venga consegnato (se e quando sarà consegnato) invariato, ad esempio a causa di qualche […]

Ottieni tutte le connessioni TCP aperte dall’applicazione utilizzando C #

Come trovare tutte le connessioni TCP aperte da un’applicazione specifica, magari con ID processo o smth. come questo? Io uso C #