writeline bug

Archives Forums/BlitzPlus Bug Reports/writeline bug

Angel(Posted 2006) [#1]
Ok when i Open a tcp stream i am able to send a writeline command and recieve it on my server but if i use writeline again the server doesnt recieve any information.. i can only use write line once and then its useless. I'm hoping you can get this fixed soon as i am developing a jabber client in blitzplus for a small company.


Wings(Posted 2006) [#2]
Im expert on blitzTCP. (Using it for voidrpg)
yes writeline is scrapp in tcp.
you shold try to send tcp packets instead.. eg memmory bank of data.
and transfeer em to client one by one. Never send anything widout reciving a verification of last transmitted. i found that TCP in blitz stalls after 8k of unsent data.

Dont use WriteLine(),Writebyte(),WriteString().
use only writebyteS()
and use readavail(packetsize)

or else you will have random slowdowns. and stalls.


Andres(Posted 2006) [#3]
The slowdown's aren't random. Writeline() will be delayed until it get's the response "sentence".

For example writebytes() doesn't work properly with winamp because if you stream there anything and pause it, the server will be freezed, because server doesn't receive the response "sentence".


Wings(Posted 2008) [#4]
Oh my

I dint want to stream anything.

i meantr Blitz <-> Blitz application

WritebyteS() is the safest way.. but one have to be carefull. streaming dosent work good at all :D

after 8k tcp engine stalls program.


i found that readline sometimes this hapends.


1) Sending Line1
2) Sedning Line 2

....
here comse internet Clown...
...

3) Clients computer detects data on stream. change the readavail() .. but its no good the data is Line2..

4) Blitzy program reads the readavail() ahaaa data has arrived. lets readLine1

5) What !! no data from line 1.. (Its casuse line 2 has triggered the readavail)

6) Well then lets Delay program for a while :D

7) Line 1 is finial recived.

8) CLient read line1 finaly.




So to overcome above error with the readavail() i recomend to use tcp careful. Try not to send to many Writelines at one time. Specialy if its a server you writing.