Visual Basic - Basic - PicBasic ve Türevleri
Vbasic Winsock Tek Tek Gödnermek
Vbasic Winsock Tek Tek Gödnermek
-
For i = 0 To Drive1.ListCount - 1
Winsock1.SendData Drive1.List(i)
Next ikodu 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.
-
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 SubDenedim çalıştı gördüğüm kadariyla..
-
yusufyusufyusuf bunu yazdı:
-----------------------------For i = 0 To Drive1.ListCount - 1
Winsock1.SendData Drive1.List(i)
Next ikodu 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