Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - TrashAmbishion

#191
Cita de: snetcancerbero en 22 Septiembre 2016, 20:24 PM
estimado Eleкtro, yo estoy en la misma situacion que ud. necesito encarecidamente de ser posible el programa completo, poseo cierto conocimiento de programacion y decidi crar una herramienta para controlar los jugadores de bf3 para que no sen crack en el juego y me dispuse a desemporbar mis conocimiento en c#, no me es facil pero tengo que hacerlo por el bien comun, y mi busqueda me envio aqui justo con mis propias inquietudes, porfavor necesito que me responda, gracias.

Pues si es conmigo la cosa el soft ya esta realizado en fase de pruebas...

Saludos y gracias nuevamente elektro
#192
Código (vbnet) [Seleccionar]
Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub

    Dim clientSocket As Socket
    Dim byteData(1023) As Byte

    Private Sub OnConnect(ByVal ar As IAsyncResult)
        clientSocket.EndConnect(ar)
        clientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None, New AsyncCallback(AddressOf OnRecieve), clientSocket)
    End Sub

    Private Sub OnDisconnect(ByVal ar As IAsyncResult)
        Dim client As Socket = ar.AsyncState
        client.EndDisconnect(ar)

        clientSocket.Close()
        clientSocket = Nothing
    End Sub

    Private Sub OnRecieve(ByVal ar As IAsyncResult)

        Dim client As Socket = ar.AsyncState
        client.EndReceive(ar)
        Dim bytesRec As Byte() = byteData
        Dim message As String = System.Text.Encoding.ASCII.GetString(bytesRec)
        Read(message)
        clientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None, New AsyncCallback(AddressOf OnRecieve), clientSocket)

    End Sub

    Delegate Sub _Read(ByVal msg As String)
    Private Sub Read(ByVal msg As String)
        If InvokeRequired Then
            Invoke(New _Read(AddressOf Read), msg)
            Exit Sub
        End If
        RichTextBox1.Text &= msg
    End Sub


    Private Sub btnConnect_Click(sender As Object, e As EventArgs) Handles btnConnect.Click
        clientSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
        Dim ipAddress As IPAddress = IPAddress.Parse("127.0.0.1")
        Dim ipEndPoint As IPEndPoint = New IPEndPoint(ipAddress, 8800)
        clientSocket.BeginConnect(ipEndPoint, New AsyncCallback(AddressOf OnConnect), Nothing)
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        clientSocket.BeginDisconnect(False, New AsyncCallback(AddressOf OnDisconnect), clientSocket)
    End Sub
End Class


Cada vez que doy en el Boton desconectar me salta una exepcion en OnReceive de que el objeto esta Dispose, alguien me puede explicar porque es que se dispara ese evento.

Lo otro es que en el lado del servidor no se entera de que el socket fue cerrado, para que el se percatara de esto tendria que hacer una especie de thread cada cierto tiempo verificando si el socket esta vivo ??

Como explican aqui

http://stackoverflow.com/questions/722240/instantly-detect-client-disconnection-from-server-socket

Salu2

Lo que busco es detectar cuando un cliente se conecta y desconecta tanto para el cliente como el servidor.
#193
Pues si que funcionaba el problema radicaba en que yo estaba haciendo un While hasta esperar que se disparara el evento de que ya se habia terminado el BW pero nose donde fue que leí que usar Application.DoEvents no era recomendable que era preferible usar un Thread.Slepp...

En cuanto cambie el Thread.Slepp para DoEvents funciono todo de maravillas..

El While estaba mirando una variable Booleana que se ponia a TRUE en el evento Complete del BW.

Sabrias porque sucedia eso ?

Salu2 y gracias por el código..

Ya terminé el programa y te incluí en los créditos asi como tu página despues te mando captura.
#194
Código (vbnet) [Seleccionar]
Imports System.IO
Imports System.Management
Imports System.Text
Imports System.Threading

Public Class BWorkerProc

    ''' <summary>
    ''' The BackgroundWorker object.
    ''' </summary>
    Private WithEvents MyWorker As New ComponentModel.BackgroundWorker

    ''' <summary>
    ''' ManualResetEvent object to pause/resume the BackgroundWorker.
    ''' </summary>
    Private _busy As New ManualResetEvent(True)

    Public Property StopState As Boolean

    ''' <summary>
    ''' 'Flag para enviar los procesos
    ''' </summary>
    ''' <returns></returns>
    Public Property SendProc As Boolean

    ''' <summary>
    ''' This will start the BackgroundWorker.
    ''' </summary>
    Public Sub StartBackgroundTask()

        StopState = False

        MyWorker.WorkerSupportsCancellation = True
        MyWorker.RunWorkerAsync()

    End Sub

    ''' <summary>
    ''' This is the work to do on background.
    ''' </summary>
    Private Sub MyWorker_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles MyWorker.DoWork

        Do Until MyWorker.CancellationPending

            'Check weird process
            GetProccesPath()

            'Send Process
            SendProcess()

        Loop

        e.Cancel = True

    End Sub

    ''' <summary>
    ''' This happens when the BackgroundWorker is completed.
    ''' </summary>
    Private Sub MyWorker_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) _
    Handles MyWorker.RunWorkerCompleted

        If e.Cancelled = True Then
            'MsgBox("Thread cancelled")
            StopState = True
        ElseIf e.Error IsNot Nothing Then
            'MsgBox("Thread error")

        Else
            'MsgBox("Thread Done!")

        End If

    End Sub

    ''' <summary>
    ''' This will pause the BackgroundWorker.
    ''' </summary>
    Public Sub Pause()

        If MyWorker.IsBusy Then
            _busy.Reset()
            'MsgBox("Thread Paused!")
        End If

    End Sub

    ''' <summary>
    ''' This will resume the BackgroundWorker.
    ''' </summary>
    Public Sub [Resume]()
        _busy.[Set]()
        'MsgBox("Thread Resumed!")
    End Sub

    ''' <summary>
    ''' This will cancel the BackgroundWorker.
    ''' </summary>
    Public Sub Cancel()
        _busy.[Set]() ' Resume worker if it is paused.
        MyWorker.CancelAsync() ' Cancel it.
    End Sub

   
End Class



El cancela el worker pero no se activa el RunWorkerComplete nunca...
#195
.NET (C#, VB.NET, ASP) / Duda con BackgroundWorker ?
15 Septiembre 2016, 17:30 PM
Hola,

Que podria suceder para que una BW no se detuviera, le estoy dando la orden de cancelar y en el evento que se dispara cuando finaliza puse una variable publica que la voy comprobando con un while hasta que se haga true para poder continuar, llega bien hasta el Mywork.CancelAsync pero no se dispara el evento de que finalizo, verifique y tampoco sigue trabajando verificando ninguna de las funciones que tiene, cuando lo inicializo declaro que puede detenerse.

Es que necesito agregar a un array valores y en ese BW hay una funcion que cada cierto tiempo la usa para hacer comprobaciones.

Leyendo di con una funciona SymLock pero trate de usarla y me dio el mismo mensaje de que la coleccion ha sido modificada.

Edito: Podria ser que cuando hago el cancel no miro primero si esta ocupado (busy). ?
#196
Me respondo..

http://stackoverflow.com/questions/2079428/unable-to-delete-image-after-opening-it-in-vb-net-app

El problema es que Image.FromFile mantiene el archivo abierto...

Salu2
#197
Código (vbnet) [Seleccionar]
Imports System.Drawing.Drawing2D

Public Class Form1

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

       Dim Dimensiones As New Size

       Dimensiones.Width = 600 : Dimensiones.Height = 400

       Resize_Image(Image.FromFile("C:\Fraps\Screenshots\Prueba.bmp"), Dimensiones).Save("C:\Fraps\Screenshots\Prueba1.bmp")

   End Sub

   Public Function Resize_Image(ByVal sender As Image, ByVal size As Size) As Image

       If (size.Width <= 0) Then
           Throw New ArgumentException(paramName:="width", message:="Value bigger than 0 is reqired.")

       ElseIf (size.Height <= 0) Then
           Throw New ArgumentException(paramName:="height", message:="Value bigger than 0 is reqired.")

       Else
           Dim bmp As New Bitmap(size.Width, size.Height, sender.PixelFormat)
           Using g As Graphics = Graphics.FromImage(bmp)
               With g
                   .CompositingQuality = CompositingQuality.Default
                   .InterpolationMode = InterpolationMode.Default
                   .PixelOffsetMode = PixelOffsetMode.Default
                   .SmoothingMode = SmoothingMode.Default
                   .DrawImage(sender, 0, 0, bmp.Width, bmp.Height)
               End With
           End Using
           Return bmp

       End If

   End Function

End Class


Me sigue diciendo que mi aplicación tiene la imagen en uso, cuando trato de eliminarla.

Salu2 y muchas gracias ya volvi a descargar tus librerias actualizadas...
#198
Código (vbnet) [Seleccionar]
    Private Function Resize_Image(ByVal img As Image, ByVal Width As Int32, ByVal Height As Int32) As Bitmap
        Dim Bitmap_Source As New Bitmap(img)
        Dim Bitmap_Dest As New Bitmap(CInt(Width), CInt(Height))
        Dim Graphic As Graphics = Graphics.FromImage(Bitmap_Dest)
        Graphic.DrawImage(Bitmap_Source, 0, 0, Bitmap_Dest.Width + 1, Bitmap_Dest.Height + 1)
        Return Bitmap_Dest
    End Function


Porque no puedo eliminar la imagen source una vez que termina la operación dice que esta en uso.

Próbe con otros codigos que tengo que usan Using, tambien hize Dispose a cada imagen y nada sigue en uso..

Salu2
#199
El router lo tengo conectado a eth0 que es el puerto de red fisico del board y el eth1 es una tarjeta de red donde tengo la lan conectada..

El tema es que desde ahi mismo no le logro dar ping al gateway siquiera.. y como dije desde mi pc en windows con la misma configuración de la wan navego sin problemas y doy ping al gateway y responde sin problemas...

Un socio me dijo que habilitara el forwading, otro que iptables (pero creo que esto no deba ser) y otro que si rutas..

Salu2 y gracias cualquier ayuda..
#200
Instale Debian Jessie y tengo configurada la eth0 y eth1 de la siguiente manera

eth0 (wan)
address 100.0.20.15
netmask 255.255.255.252
gateway 100.0.20.14

eth1 (lan)
address 192.168.20.8
netmask 255.255.255.0
network 192.168.20.0
broadcast 192.168.20.255

los dns son:
100.0.20.5
100.0.20.9

yo puse la misma configuracion de la wan en mi windows 7 y funciona de maravillas, no es problema de del isp, no logro resolver ningun dns si me pudieran orientar un poco..

Gracias de antemano