appengine应用程式部署-错误:必须至少提供一个处理常式

Getting started with appengine.

My app has no front end.

Its a tcp/udp socket server.

When I try to deploy I get the error in the title.

Handler for what? Its not a webapp.

Is appengine the wrong google service for server apps?

You can always add a skeleton web handler (which may simply return a 404) to keep the deployment utility happy.

But be aware that the GAE standard environment sandbox is very restrictive for socket-based apps, see Limitations and restrictions:

Although App Engine supports sockets, there are certain limitations and behaviors you need to be aware of when using sockets :

  • Sockets are available only for paid apps.
  • You cannot create a listen socket; you can only create outbound sockets.
  • FTP is not supported.
  • You can only use TCP or UDP; arbitrary protocols are not allowed.
  • You cannot bind to specific IP addresses or ports.
  • Port 25 (SMTP) is blocked; you can still use authenticated SMTP on the submission port 587.

  • Private, broadcast, multicast, and Google IP ranges (except those whitelisted below), are blocked:

    • Google Public DNS: 8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844 port 53
    • Gmail SMTPS: smtp.gmail.com port 465 and 587
    • Gmail POP3S: pop.gmail.com port 995
    • Gmail IMAPS: imap.gmail.com port 993

      Note: Google Compute Engine IP addresses are not considered to be in Google IP ranges. You can use sockets to connect Google App Engine apps to Google Compute Engine instances.

  • Socket descriptors are associated with the App Engine app that created them and are non-transferable (cannot be used by other apps).

  • Sockets may be reclaimed after 2 minutes of inactivity; any socket operation keeps the socket alive for a further 2 minutes.

If your app can't abide by these restrictions you need to look at other alternatives, which would include the flexible environment GAE or Compute Engine.