Oppure

Loading
01/10/13 14:42
orma674
ciao a tutti,
volevo sapere se in un server multiclient asincrono l'ascolto dei client connessi va fatto con un ciclo

for each _SckClient
_SckClient.BeginReceive(gDataReceived, 0, gDataReceived.Length, SocketFlags.None, New AsyncCallback(AddressOf cSocket_Receive), _SckClient) '''''_SckClient utente di una lista di socket
next

oppure una volta aperto la ricezione questa rimane fino al termine dell'applicazione.

Grazie
Saluti
Marcello
aaa
01/10/13 17:59
nessuno
Il codice del server deve essere multithread. Una connessione per thread.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
03/10/13 0:15
orma674
Grazie per la risposta.

Mi sai dire anche per svuotare il buffer di invio come posso fare. Con i TCPClient e NetworkStream utilizzavo il flush, con i socket c'è un comando specifico o bisogna manipolare in qualche modo il buffer.

Il mio problema è il seguente:
TextBox Tx String = 1234567890 , TextBox Rx String = 1234567890
TextBox Tx String = abcde , TextBox Rx String = abcde67890

Sono sovrascritti i caratteri senza effettuare una reale cancellazione.

Utilizzare un riempimento del buffer con Chr(0) mi sembra poco bello è dispendioso come risorsa.

Ho provato ad usare Socket.Avabile per ricevere la lunghezza del buffer pronto per essere letto, ma questo mi restituisce 0. Ho provato a leggere la lunghezza con EndSend(ar) che mi da il valore da passare a Socket.ReceiveBuffer e la variabile di lettura byte, questo restituisce il giusto valore ma non può essere invocata due volte cosi che non mi restituisce il buffer.

Grazie per la collaborazione
Marcello
aaa
03/10/13 18:02
nessuno
Non ho capito cosa intendi ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
03/10/13 20:49
orma674
Ho risolto da me, Grazie lo stesso!!!!

Avevo problemi nella visualizzazione della stringa buffer in arrivo.
La soluzione è stata quella di intercettare i byte in arrivo, dichiarare una nuova variabile e copiare con Buffer.CopyTo il numero dei byte ricevuti.

Saluti
Marcello
aaa