Vbasic Winsock Tek Tek Gödnermek

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yusufyusufyusuf
    yusufyusufyusuf's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    For i = 0 To Drive1.ListCount - 1
    Winsock1.SendData Drive1.List(i)
    Next i

     kodu ile sürücüleri gödnerdiğimde winsock hepsini birden hafızasıdna topluyup gödneriyor herhalde çünkü

    Combo1.AddItem Veri

    ile aldığımda tüm sürücüler tek birsatırda yazıyor.

    merak ettiğim heryerde başıma bu problem geliyor hatta dosya gödnerimi sırasında gödnerim bittikten sonra en son yollanan parçanın peşine "son" datasını yolladığımda da son ile en son gödnerdiğim data birbirine bitişik gittiğinden program dosya alımının bittiğini anlamıyor.

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hunter
    j4x
    j4x's avatar
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

    Drive problemi için aşağıda uyguladığım mantığı kullanabilirsin..

    Not: felaket uykum war bu kadar yapabildim anca bi kontrol et hata olabilr :)

    ----- Client

    Private Sub Command1_Click()
    If Winsock1.State <> sckClosed Then Winsock1.Close
    Winsock1.Connect "localhost", 11000
    End Sub

    Private Sub Command2_Click()
    Dim i As Integer
    For i = 0 To Drive1.ListCount - 1
    If i = Drive1.ListCount - 1 Then
    Winsock1.SendData Drive1.List(i)
    Else
    Winsock1.SendData Drive1.List(i) & Chr(255)
    End If
    Next
    End Sub

    Private Sub Winsock1_Connect()
    MsgBox "k"
    End Sub

     

    -----------------------------------------

     ----- Server

    Private Sub Form_Load()
    If Winsock1.State <> sckClosed Then Winsock1.Close
    Winsock1.Listen
    End Sub

    Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
    If Winsock1.State <> sckClosed Then Winsock1.Close
    Winsock1.Accept requestID
    End Sub

    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim veri As String, parsed() As String
    Winsock1.GetData veri
    parsed = Split(veri, Chr(255))
    Dim i As Integer
    For i = 0 To UBound(parsed)
    Combo1.AddItem parsed(i)
    Next
    End Sub

     

    Denedim çalıştı gördüğüm kadariyla.. 


    The king is bleeding.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    chaotic
    chaotic's avatar
    Kayıt Tarihi: 16/Aralık/2008
    Erkek
    yusufyusufyusuf bunu yazdı:
    -----------------------------

    For i = 0 To Drive1.ListCount - 1
    Winsock1.SendData Drive1.List(i)
    Next i

     kodu ile sürücüleri gödnerdiğimde winsock hepsini birden hafızasıdna topluyup gödneriyor herhalde çünkü

    Combo1.AddItem Veri

    ile aldığımda tüm sürücüler tek birsatırda yazıyor.

    merak ettiğim heryerde başıma bu problem geliyor hatta dosya gödnerimi sırasında gödnerim bittikten sonra en son yollanan parçanın peşine "son" datasını yolladığımda da son ile en son gödnerdiğim data birbirine bitişik gittiğinden program dosya alımının bittiğini anlamıyor.


    -----------------------------

    Diğer arkaddaşın yaptığıda doğru ama daha kısa bir yöntem var Winsock nesnesi dediğin gibi belli bir sınıra kadar verileri biriktiriyor sonra topluca gönderiyor

    ama eğer döngüye Doevents koyarsan her döngüde bilgiyi gönderir yani kod şöyle olursa problem çıkmaz.

    For i = 0 To Drive1.ListCount - 1
    Winsock1.SendData Drive1.List(i)

    Doevents
    Next i


    ...::::::: İlle kalite,İLLEGALİTE :::::::...
Toplam Hit: 2297 Toplam Mesaj: 3