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?


"E' facile distruggere, la vera sfida creare!"(cit. me)

"Ricordati chi sei, non permettere a nessuno di cambiarti, non perdere mai te stesso. Farai grandi cose nella vita."(cit. me)

double penetration; //ouch
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.


"E' facile distruggere, la vera sfida creare!"(cit. me)

"Ricordati chi sei, non permettere a nessuno di cambiarti, non perdere mai te stesso. Farai grandi cose nella vita."(cit. me)

double penetration; //ouch
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo