Really in Appengine you should be receiving the data in HTTP format*. Rather than arbitrary 'packets'.
As you say you can't open listening sockets. AppEngine is really setup for handling HTTP requests.
*( there are interfaces to transform other protocols into HTTP for you eg receiving Emails, XMPP messages, or WebSocket style interace via the Channel API - various underlying protocols in reality)
Compute Engine would be a better choice
Having said that there is
which is estentially a AppEngine managed Cloud Compute instance. So you get the great APIs of appengine, but a bit more flexiblity - I think that would include opening listening sockets.