![]() |
URGENT Sending data over tcp
Im trying to get my tracking code to work i can send a pwm value over tcp to robot with roborealm but it updates so slow even know on roborealm it is sending it at 50ms on the robot it takes about 500ms to register, here is the code, Roborealm sends it as an int, we have a competition tomorrow so ASAP would be great PLEASE AND THANKYOU
Code:
/* |
Re: URGENT Sending data over tcp
Here are some things to check out:
1) Is RoboRealm flushing output at every int, or is getting buffered? 2) Why is "instream.read()" called 2x in your loop? 3) The field "Socket.datain" is being used to communicate between threads. For correct portable code this should be declared "volatile", or all reads and writes should be guarded by synchronized statements. This shouldn't actually matter for Java on the cRIO though. 4) There isn't any built-in Java-level input buffering on a Socket's input stream in this version of Java. That shouldn't result in a 10x slowdown though. To test this you could try reading into a 4-byte array, and constructing an int from that Code:
byte b[] = new byte[4]; |
Re: URGENT Sending data over tcp
Quote:
Sorry but i dont understand what int len is for? P.S, Yea i just noticed that there is 2 instream.read(); |
Re: URGENT Sending data over tcp
len is the number of bytes read by that specific call. Since there isn't always enough new data available to fill your buffer, read() lets you know exactly how much was there (or, more correctly, how much it copied into your buffer).
UDP is faster, but it's also a good bit riskier. TCP is nice because it guarantees that packets will arrive, that packets will not be corrupted, and that packets will arrive in the order they were sent. UDP guarantees nothing. However, since UDP doesn't have all those checks, it will be faster. Be careful using it, though, because you can no longer rely on any of the guarantees of TCP. |
Re: URGENT Sending data over tcp
Quote:
|
| All times are GMT -5. The time now is 09:48. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi