나는 최근에 heroku.com 사이트를 방문하여 거기에 첫 번째 Java 프로그램을 배포하려고했지만 실제로 Java 배포 튜토리얼을 사용하여 좋은 시작을 얻었습니다. 이제 저는 거기에 배포해야하는 서버 코드가 있습니다. 예제를 따라했지만, 다음과 같은 질문을했습니다.Heroku에 간단한 서버 코드 배포
1-이 경우 호스트가 될 것입니다. 이미 응용 프로그램 링크를 사용해 보았습니다. 그 호스트가 있지만, 오류가 발생하는 경우, 여기
여기public class DateServer {
/** Runs the server. */
public static void main(String[] args) throws IOException {
ServerSocket listener = new ServerSocket(6780);
try {
while (true) {
Socket socket = listener.accept();
try {
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println(new Date().toString());
} finally {
socket.close();
}
}
} finally {
listener.close();
}
}
}
내가이 튜토리얼을 따라
public class DateClient {
/** Runs the client as an application. First it displays a dialog box asking for the IP address or hostname of a host running the date server, then connects to it and displays the date that it serves. */
public static void main(String[] args) throws IOException {
//I used my serverAddress is my external ip address
Socket s = new Socket(serverAddress, 6780);
BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream()));
String answer = input.readLine();
JOptionPane.showMessageDialog(null, answer);
System.exit(0);
}
}
내 클라이언트 코드 내 샘플 서버 코드입니다그들의 사이트에서 내 서버 코드를 업로드하려면이 필요합니다. Heroku가에 사전
확인하지만,이에서 정상 HTTP 연결 클라이언트 코드가 될 것입니다 케이스?! 이 실제로 매우 간단한 예제는 클라이언트가 서버에 연결하여 게임 할 수있는 멀티 플레이어 게임을 구축하는 것입니다. 서버 코드를 변경 한 후 ur 클라이언트 코드에 관심이 있으십니까? 멀티 플레이를 지원하도록 코드를 확장하고자 함을 기억하십시오. 어떤 도움도 받으실 수 있습니다. –
예, 클라이언트가 HTTP를 사용해야합니다. Heroku 애플리케이션은 아웃 바운드 TCP 연결 (예 : 데이터베이스)을 만들 수 있지만 모든 인바운드 연결은 HTTP를 통해 이루어져야합니다. 자세한 내용은 [Heroku HTTP 라우팅 정보] (https://devcenter.heroku.com/articles/http-routing)를 참조하십시오. – ryanbrainard