There could be few reasons. But the most critical one is whether the serial port that you created can read the data. I focus on the Baud Rate of this serial port. How you came up with 2400 for this. When specifying this value you need to make sure that the application that writes the data should have the same baud rate (both sender and receiver should have same baud rate). So as a start point you can set the Baud Rate as same as the sender. After that you can move forward with spending some debugging.
If there is some unwanted data bytes it should be related to
As this method reads all data in the com port buffer. So think a way to clean it before send data again.