Winsock Buffer İptal edemiyorum?

0
Onaylı Üye
Üye
Katılım
30 Aralık 2003
Mesajlar
92
Tepki puanı
0
Visual basic ile WINSOCK(ocx) Server-Client uygulaması yaptım. Sürekli veri alıp verirken (FOR-WHILE vs.) datalar birikmeli geliyor.


----------------------------------
Örneğin (server):
for i=0 to 500
server.sendData("A")
dovents
next i

(client):
client.getData data,vbString,bytestotal
if data="A" then
call msgbox(data)
end if
----------------------------------------------
Normalde her gelen A için MSGBOX çıkması lazım. LAN da test edince gelen veriler yığılarak geliyor ve komut işe yaramıyor. Gelen veriler "AAAAAAAA" şeklinde oluyor. Winsock sanırım BUFFER yapıyor.

Bunu düzeltmenin bir yolu varmı ?
 
0
Onaylı Üye
Üye
Katılım
27 Mayıs 2005
Mesajlar
124
Tepki puanı
1
Örneğin (server):
for i=0 to 500
server.sendData("A")
dovents
next i


Düzeltmeniz gereken iki şey var:
1/ Gönderdiğiniz datanın sonuna mutlaka chr(13) + chr(10) ekleyin. ( Carriage return + line feed)
server.senddata("a"+vbcrlf)

2/ Bir timer yaratın...adını timer1.yapın
interval olarak 1 verin
Formun declaration kısmına şunu yazın

dim counter as integer

timer1'i şu şekilde düzenleyin
Private Sub Timer1_Timer()
Counter = Counter + 1
If Counter >= 500 Then
Timer1.Enabled = False
counter=0
Else
Counter = Counter + 1
server.senddata("a"+vbcrlf)
End If
End Sub
 
Geri
Üst