TCP should work too, on sufficiently recent kernels. The CRIU developers added kernel support for saving and restoring the internal state of an open connection, including things like sequence numbers and window sizes. It looks like you have to be careful to drop all incoming packets during the migration so that the network stack doesn't get confused, but that should just appear as a temporary network interruption.
http://criu.org/TCP_connection