Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - ci siamo vicini..... crasha improvviso -.-
Forum - C# / VB.NET - ci siamo vicini..... crasha improvviso -.-

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
GoLDBeRG (Ex-Member)
Expert


Messaggi: 331
Iscritto: 19/12/2005

Segnala al moderatore
Postato alle 11:51
Sabato, 27/06/2009
ragazzuoli ci siamo vicini a risolvere il mio maledetto problema... il soft regge fino a 400-500 client con 30 mb di ram è un ottimo risultato... pero' di punto in bianco.... CRASH :| tutto da solo... ed esce questa simpatica finestrella....
vi posto il codice nuovo (prima non lo faceva)

Codice sorgente - presumibilmente VB.NET

  1. Imports System.Net.Sockets
  2. Imports System.Threading
  3. Imports System.Text
  4.  
  5. Public Class User
  6.  
  7.      Private Sub time2_Elapsed(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs) Handles time2.Elapsed
  8.         On Error Resume Next
  9.         If muori Then
  10.             disconenttiuser(me)
  11.             Exit Sub
  12.         End If
  13.         time2.AutoReset = True
  14.         Dim buffer() As Byte = Encoding.Default.GetBytes(frasi.ToString)
  15.         frasi = ""
  16.         Module1.impostazioni.banda += buffer.Length
  17.         Module1.protocol.byteinviati += buffer.Length
  18.         sae.SetBuffer(buffer, 0, buffer.Length)
  19.         client.SendAsync(sae)
  20.     End Sub
  21. End Class



questa è la classe con la procedura che gestiscono l'invio dei messaggi ogni 500 ms in modo che il socketeventsargs non sia mai in uso e tutto scorra bene...
carico il buffer dei messaggi qui...

Codice sorgente - presumibilmente VB.NET

  1. Public Sub manda(ByRef us As User, ByVal data As String)
  2.         Try
  3.             data = data.Replace(Chr(10) & Chr(10), "").Replace("||", "")
  4.             If data.EndsWith("|") = False Then
  5.                 data &= "|"
  6.             End If
  7.             us.frasi &= data    'lo riempio finche non passano 500 ms poi invio tutto
  8.         Catch
  9.         End Try
  10.     End Sub



cosè sto nuovo carino errore?


GoLDBeRG ha allegato un file: Cattura.JPG (34939 bytes)
Clicca qui per guardare l'immagine
PM Quote
Avatar
GoLDBeRG (Ex-Member)
Expert


Messaggi: 331
Iscritto: 19/12/2005

Segnala al moderatore
Postato alle 13:05
Sabato, 27/06/2009
amici dove siete :love:

PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 13:52
Sabato, 27/06/2009
Qual'è il punto esatto del codice in cui crasha?

PM Quote
Avatar
GoLDBeRG (Ex-Member)
Expert


Messaggi: 331
Iscritto: 19/12/2005

Segnala al moderatore
Postato alle 14:24
Sabato, 27/06/2009
non me lo dice sto cretino... dice che è codice non gestito... cmq sono sicuro che è in questa procedura.... perche se la commento non crasha...

Codice sorgente - presumibilmente VB.NET

  1. Private Sub time2_Elapsed(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs) Handles time2.Elapsed
  2.         Try
  3.             If muori Then
  4.                 finale()
  5.                 Exit Sub
  6.             End If
  7.             time2.AutoReset = True
  8.             Dim buffer() As Byte = Encoding.Default.GetBytes(frasi.ToString)
  9.             frasi = ""
  10.             Module1.impostazioni.banda += buffer.Length
  11.             Module1.protocol.byteinviati += buffer.Length
  12.             sae.SetBuffer(buffer, 0, buffer.Length)
  13.             client.SendAsync(sae)
  14.         Catch
  15.             muori = True
  16.         End Try
  17.     End Sub



Codice sorgente - presumibilmente VB.NET

  1. Public Sub finale()
  2.         On Error Resume Next
  3.         time.Enabled = False
  4.         time2.Enabled = False
  5.         time2.Dispose()
  6.         time.Dispose()
  7.         client.Close()
  8.         frasi = Nothing
  9.         sae.Dispose()
  10.         sae = Nothing
  11.         altronick = Nothing
  12.         fraseparla = Nothing
  13.         inizialistato = Nothing
  14.         ip = Nothing
  15.         myinfo = Nothing
  16.         nick = Nothing
  17.         stato = Nothing
  18.         temp = Nothing
  19.         ultimomex = Nothing
  20.         ultimopvtachi = Nothing
  21.         modalita = Nothing
  22.         Array.Clear(ReadBuffer, 0, ReadBuffer.Length)
  23.         client = Nothing
  24.         Me.Finalize()
  25.     End Sub


Ultima modifica effettuata da GoLDBeRG il 27/06/2009 alle 14:25
PM Quote
Avatar
genuzzu (Normal User)
Pro


Messaggi: 107
Iscritto: 24/06/2009

Segnala al moderatore
Postato alle 22:16
Sabato, 27/06/2009
Controlla eseguendolo da VB con gli strumenti di DeBug!

PM Quote
Avatar
GoLDBeRG (Ex-Member)
Expert


Messaggi: 331
Iscritto: 19/12/2005

Segnala al moderatore
Postato alle 9:22
Domenica, 28/06/2009
Testo quotato

Postato originariamente da genuzzu:

Controlla eseguendolo da VB con gli strumenti di DeBug!



ma veramente -.- e cosa dovrei controllare?

PM Quote
Avatar
genuzzu (Normal User)
Pro


Messaggi: 107
Iscritto: 24/06/2009

Segnala al moderatore
Postato alle 12:33
Domenica, 28/06/2009
Testo quotato

Postato originariamente da GoLDBeRG:

Testo quotato

Postato originariamente da genuzzu:

Controlla eseguendolo da VB con gli strumenti di DeBug!



ma veramente -.- e cosa dovrei controllare?


mi sa che ho detto una grande boiata... ho appena riletto il topic :rotfl:

PM Quote
Avatar
GoLDBeRG (Ex-Member)
Expert


Messaggi: 331
Iscritto: 19/12/2005

Segnala al moderatore
Postato alle 13:16
Domenica, 28/06/2009
tranq XD cmq bho sto proprio fermo... nn ci arrivo...

PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 16:39
Domenica, 28/06/2009
Prova a togliere i vari try e on error e controllare i dati dell'eccezione.

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo