There is no magic in programming: you cannot convert complex data structures into simple byte streams without some effort.
You also cannot do it without understanding some basic C++.
You can use QDataStream to create a byte array that can be read at the other end (assuming it is a Qt program) but your send_data(), or should that be send_board(), routine is horribly confused. It creates a local copy of the byte array passed in {14}, then opens a stream on that copy {16}, tries to write itself on that stream {18}, updates some byte counts and then sends it. I am not sure what the result will be (4 bytes?) but I expect it is not pretty and certainly not what you expect.
Bookmarks