[Gambas-user] Nested Socket Write does not work
Doriano Blengino
doriano.blengino at ...1909...
Fri Mar 6 09:52:48 CET 2009
CARLOS GTR ha scritto:
> Hi, I am working in chat program in Gambas that works with TCP sockets.
> The problem is that the clients that connect to the server need to receive
> the list of the contacts that are online (as any chat), The Server has the
> list but cant send it.
>
> This is the code:
> DIM y, x AS Integer
> FOR x = 0 TO Client.Max
> FOR y = 0 TO listacontactos.Count - 1
> ' Message(“dgdsgfds”) If I uncomment this line everything works
> WRITE #Client[x], "[" & y & "]" & listacontactos[y].Text,
> Len(listacontactos[y].Text) + 4
> NEXT
> NEXT
>
> That code with the message instruction commented only send 1 contact, when I
> uncomment that dummy message line everything works perfect.
>
> Another interesting fact is that If I put break points for the nested FORs
> and see what happens the programs runs perfect even without the dummy
> message instruction.
>
Sorry, I don't know how gambas works with sockets, but instead I noticed
something else that perhaps is worth to be investigated. When you write
on socket, you send something like "[0]text". The length of this example
string is 7 characters, but your formula gives 8 because you add 4 to
the length of the original text. Perhaps, this code tries to access past
the end of the string. In other languages this could lead to an
exception - don't know what happens in gambas: who knows... may be it
does strange things...
Regards,
Doriano
More information about the User
mailing list