I think some of you missed the point. OPs code IS sending multiple bytes. The receiving code is wrong.
OP, you need to consider whether you really want to send an integer from the PC to the Arduino as a series of bytes. The biggest difficulty with doing so is knowing how many bytes the int on the PC is, and what order they are.
Typically, the int is a 4 byte value. Sending those 4 bytes, vs. sending a string that represents the valid data that is in those 4 bytes may not represent any significant savings in number of characters sent. If the value, as in the example is 500, sending it as a string is 3 bytes ('5', '0', and '0'). Sending it as a series of bytes requires 4 bytes. So, in this case, the string wins.
Now, to be fair, you need to send some kind of delimiter at the end of the string, so that the Arduino can tell where in a string of characters like "1255045800" the values are, so a string involves a variable number of characters, instead of a fixed number of characters.
On the other hand, serial data delivery is not guaranteed, so, you'd need to send a sequence of bytes between each value sent, as stop/start bytes. Since any byte could contain a value that represents a byte in an int, you can't send a single byte as the start/stop byte. You'd typically send 4 bytes as the stop/start marker, each containing 0xFF. Then, you simply need to assure that 0xFFFFFFFF is not valid as a value to be sent. Of course, delaying for 0xFFFFFFFF milliseconds is not a useful thing to do, so that's not a problem. 4,294,967 seconds is 1,183 hours or 49+ days.