2016-07-14 2 views
1

Мне было нелегко пытаться развернуть мой проект Java на Google cloud engine. Я прочитал большую часть документации Google для облаков, но я все еще не могу понять.развертывание проекта java для вычислительного двигателя google

То, что я хочу, это просто связь tcp. Мне не нужен сам HTML, чтобы что-то сделать. Много руководств рассказывают о сервлетах и ​​http get и post, но мне нужно просто tcp. Возможно, мне недостает информации, и именно поэтому я не могу ею управлять.

Итак, сначала - мне нужен какой-то http-сервер для запуска только запросов tcp? И если нет, то как я могу развернуть свой проект?

Сейчас мой проект имеет только Java. Я использовал IntelliJ, если это имеет значение. Это что-то вроде этого.

import java.io.IOException; 
import java.net.ServerSocket; 
import java.net.Socket; 

public class MainServer { 

    public static void main(String[] args) { 
     final int SERVER_PORT = 3000; 
     final int SERVER_TIMEOUT = 5000; 

     try (ServerSocket serverSocket = new ServerSocket(SERVER_PORT)) { 
      while (true) { 
       try { 
        Socket clientSocket = serverSocket.accept(); 
        clientSocket.setSoTimeout(SERVER_TIMEOUT); 
        new ClientThread(clientSocket).start(); 
       } catch (IOException ignored) { 
       } 
      } 
     } catch (IOException ignored) { 
     } 
    } 
} 

И в ClientThread я работаю с каждым запросом.

Я пробовал его на месте, и он отлично работает.

Теперь мне просто нужно как-то развернуть этот проект с вычислительным механизмом и заставить его работать.

Кроме того, я установил Java JRE на сервер. Я надеюсь, что порт 3000 в порядке, если я не могу его изменить.

Спасибо заранее и извините, если я не был таким ясным.

ответ

1

Создать исполняемый файл JAR. Скопируйте его в экземпляр Compute Engine. Запустить его.

Если вы хотите, чтобы иметь возможность запускать/останавливать эту программу без входа в ваш экземпляр, вам нужен простой сервлет. Посмотрите на embedded Jetty - это, вероятно, лучшее решение для этого варианта использования.

+0

Спасибо! Это так просто, когда вы так говорите. Все, что мне нужно было сделать, было так, как вы сказали - создать запущенный JAR, скопировать его на сервер и запустить. И не забудьте разрешить соответствующий порт и протоколы в брандмауэре. –

+0

можете ли вы предоставить более подробную информацию? с этой работой с проектом angularjs, созданным с помощью «ng new» для создания проекта? как я могу сделать runnable JAR? как мне копировать в облако? вы упомянули копию в CE, я хочу скопировать в AE (механизм приложения) - я понимаю, что это две разные вещи. – mobibob

+0

Compute Engine и App Engine отличаются друг от друга: https://stackoverflow.com/questions/22697049/what-is-the-difference-between-google-app-engine-and-google-compute-engine/22697189#22697189 –

Смежные вопросы