Python UDP class to control drone
Some notes:


data as a name has been criticised elsewhere; I would simply say that any variable or property should be self-explanatory within context. a, b, and c should also have more descriptive names.
You don't need self.ip and self.port in the server - they are only used in the constructor. YAGNI.
You should default timeout to None and forward it directly to the socket configuration. Making your code have different timeout semantics from the socket library is probably just going to cause confusion.
Why return (res) instead of return res?