Hello all-
I have written a program that sends screen updates from my QNX4 application
to a remote client over TCP/IP. The goal is to replace my applications
console output commands (console_write, etc.) with TCP writes to another
machine, which in turn receives the commands and then does the console
writes itself.
Essentially, I am moving the screen off of the local machine to a remote
machine over TCP.
There is no program acknowledgement between the host and the remote; i.e the
remote client doesn’t specifically acknowledge receipt of the packets from
the host. The host just blindly sends control command packets, much like a
computer talking to a dumb terminal.
The program seems to work just fine if the “remote” program is running on
the local machine and connecting to “localhost”.
When I run the remote “client” program on a remote machine (256KB TCP/IP
connection), I seem to occasionally lose blocks of TCP packets. There
doesn’t seem to be any error returned on the host (that I can tell).
Each transmit packet has a header with an incrementing “tnx_id”. I have the
client program outputting the info from the packets. After a large “send”,
a few more packets arrive OK, and then a tnx gap:
client msg: tnx_id=1, size=17446, h_cmd= 201, cmd=20505
client msg: tnx_id=2, size= 20, h_cmd= 200, cmd=10009
client msg: tnx_id=3, size= 20, h_cmd= 200, cmd=10008
client msg: tnx_id=4, size= 20, h_cmd= 200, cmd=10011
client msg: tnx_id=5, size= 39, h_cmd= 203, cmd=24872
client msg: tnx_id=6, size= 20, h_cmd= 200, cmd=10011
client msg: tnx_id=7, size= 20, h_cmd= 200, cmd=10011
client msg: tnx_id=8, size= 20, h_cmd= 200, cmd=10006
client msg: tnx_id=9, size= 3860, h_cmd= 200, cmd=10002
client msg: tnx_id=10, size= 20, h_cmd= 200, cmd=10006
client msg: tnx_id=11, size= 20, h_cmd= 200, cmd=10008
client msg: tnx_id=12, size= 20, h_cmd= 200, cmd=10006
client msg: tnx_id=13, size= 78, h_cmd= 200, cmd=10002
client msg: tnx_id=14, size= 50, h_cmd= 200, cmd=10002
client msg: tnx_id=15, size= 20, h_cmd= 200, cmd=10008
client msg: tnx_id=16, size= 20, h_cmd= 200, cmd=10006
client msg: tnx_id=17, size= 20, h_cmd= 200, cmd=10006
client msg: tnx_id=18, size= 20, h_cmd= 200, cmd=10003
client msg: tnx_id=19, size= 6900, h_cmd= 200, cmd=10002
client msg: tnx_id=20, size= 20, h_cmd= 200, cmd=10006
client msg: tnx_id=21, size= 39, h_cmd= 203, cmd=24872
client msg: tnx_id=22, size= 20, h_cmd= 200, cmd=10008
client msg: tnx_id=200, size= 30, h_cmd= 200, cmd=10002
*** tnx id sequence error
client msg: tnx_id=201, size= 30, h_cmd= 200, cmd=10002
client msg: tnx_id=202, size= 28, h_cmd= 200, cmd=10002
client msg: tnx_id=203, size= 30, h_cmd= 200, cmd=10002
Does anyone have any ideas? Any help would be much appreciated.
Thanks,
Jeff.