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 - Zzombi

#51
hola a todos.

resulta que tengo un servidor en vb que recibe conexiones... y bueno tambien tengo un router... entonces pasa que el winsock me toma la ip que me proporciona el router (192.168....) y necesito que recibe a los clientes por la ip que uso en internet... la 202.254....... por lo tanto si en los clientes les digo que se conecten a 202.254... no se conectan al server porque el server toma la ip local  :xD tremendo lio.

espero que se entienda mi problema... o me dicen para ser más especifico  :xD

saludos.
#52
Gracias por la sugerencia.... intentare lo que dices...aunque no se como pero hay vere  :P
#53
Si, probe TerminateThread() y ocurre lo mismo
#54
hola a todos.
en un programa que estoy haciendo necesito cargar archivos pesados... y para ello ocupo un hilo usando CreateThread.. pero me ha traido problemas... aveces el proceso se queda pegado y tengo que cerrarlo a la fuerza desde el administrador de tareas.. he leido en varias partes que CreateThread es inestable.

Que otra opción tengo para trabajar con hilos? o tendre que quedarme sin hilos  :-(

saludos.
#55
el doEvents si me funciono pero no servia para el proposito que quería U.U


estoy ocupando framework 3.5.. y también probe con el 2.0

raul si tienes tiempo libre podrías probar el código para que me entiendas mejor a lo que me refiero..

saludos y gracias por tu tiempo raul
#56
no me funciona... ahora cuando termina el Sleep me muestra lo que escribo en el textbox pero no es igual a colocar CheckForIllegalCrossThreadCalls = False que puedo escribir en el textbox paralelamente mientras se llena el listbox
#57
Cita de: raul338 en 18 Noviembre 2009, 22:10 PM
no se que version del visual studio estaras usando. pero yo usando la 2008, no me deja usar thread.sleep  :laugh:

Bueno, para notar la diferencia implemente un timer que me cuente las milesimas de segundo que cuenta desde presionar el boton, hasta terminar el bucle

La diferencia?...10 a 15 centesimas de segundo  :xD
EDIT: perdon, me equivoque, luego de ver....eran decimasa de segundo XD... asi que el metodo con delegados , tardaba 1,5 segundos, mientras sin el delegado tardaba 1,8 a 1,9 segundos..... sigue sin haber tanta diferencia  ;D

No le veo tanta diferencia. Pero!, creo que tardaria mucho más si es que harias el bucle dentro del trhead y dentro del bucle llames al delegado.

Fuera de eso, alguien pudo usar Thread.Sleep en visual studio 2008? (de cualquier manera, CurrentThread, t.Sleep, etc???)  :huh:

puntualmente mi problema no tiene que ver con velocidad

si no con esto (cito lo que escribí anteriormente)

"en el segundo código la aplicación me permite trabajar con el textbox mientras se llena el listbox mientras que el primer código con delegados no me deja hacer nada más hasta que termine de llenarse el listbox.... por eso estoy diciendo que con delegados cambia la cosa."
#58
mira este código con delegados

Código (vbnet) [Seleccionar]

Imports System.Threading

Public Class Form1
    Inherits Form
    Dim t As New Thread(AddressOf hilo)
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        t.Start()
    End Sub

    Private Sub hilo()
        addList()
    End Sub

    Delegate Sub delegado()

    Private Sub addList()
        If ListBox1.InvokeRequired Then
            Dim d As New delegado(AddressOf addList)
            Me.Invoke(d)
        Else
            Dim c As Integer = 0

            For c = 0 To 10000
                ListBox1.Items.Add("valor" & c)
                t.Sleep(2000)
            Next
        End If
    End Sub

       Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

    End Sub
End Class


y ete otro sin delegados

Código (vbnet) [Seleccionar]

Imports System.Threading

Public Class Form1
    Inherits Form
    Dim t As New Thread(AddressOf hilo)
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        t.Start()
    End Sub

    Private Sub hilo()
        Dim c As Integer = 0

        For c = 0 To 10000
            ListBox1.Items.Add("valor" & c)
            t.Sleep(2000)
        Next
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        CheckForIllegalCrossThreadCalls = False
    End Sub

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

    End Sub
End Class


en el segundo código la aplicación me permite trabajar con el textbox mientras se llena el listbox mientras que el primer código con delegados no me deja hacer nada más hasta que termine de llenarse el listbox.... por eso estoy diciendo que con delegados cambia la cosa.

bueno espero que alguien me pueda ayudar

saludos.
#59
hola a todos.

he estado practicando con los delagados en los hilos y la verdad es que me da la sencación de que es màs lento trabajar con delegados.... hice un simple hilo con delegados que llenaba un listBox y luego otro hilo sin delegados (lo cual es màs peligroso) y fue màs ràpido que el con delegados....

estoy ocupando mal los delegados o efectivamente es màs lento?

saludos
#60
Programación C/C++ / Re: Servidor web escrito en C
14 Noviembre 2009, 21:07 PM
tendrias que crear un hilo... que se dedique a enviar los datos...

con la api CreateThread.. y que reciba como parametro el nombre del archivo... eje: index.html