3

如何在窗口 azure 中运行 java tcp 服务器?天蓝色的窗口可以做到吗?

我找到了很多关于window azure的java应用程序的文章,它们是在eclipse中打开一个JSP web项目,而不是使用worker角色在window azure中发布它,但是我的tcp服务器是一般的java项目,所以如何将它发布到window天蓝色?

我的 tcp 服务器:

public class test {

    private static int serverport = 12345;
    private static ServerSocket serverSocket;

    public static void main(String[] args) {
        try {
            serverSocket = new ServerSocket(serverport);
            System.out.println("Server is start.");
            while (!serverSocket.isClosed()) {
                System.out.println("Wait new clinet connect!");
                waitNewPlayer();
            }
        } catch (IOException e) {
            System.out.println("Server Socket ERROR");
        }
    }


    public static void waitNewPlayer() {
        try {
            Socket socket = serverSocket.accept();  
            System.out.println(socket.getInetAddress().getHostAddress()+"'s socket is connected now!"); 
            createNewUser(socket);
        } catch (IOException e) {
        }
    }


    public static void createNewUser(final Socket socket) {

        Thread t = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true); 

                    out.println("nangnang");
                } catch (IOException e) {
                    System.out.println("Socket is closed!");
                }   
                System.out.println("This socket is removed form the player array!");
            }
        });
        t.start();
    }
}
4

2 回答 2

0

您可能还想尝试同样支持 Azure Java 项目的 AzureRunMe。http://azurerunme.codeplex.com/

于 2013-02-13T20:50:52.573 回答
0

您应该能够在 Azure 中运行这样的应用程序,但您需要注意以下几点:

  • 为您的工作人员角色打开一个输入端点- 这将打开通往外部世界的端口。然后,您需要在内部将其映射到完全相同的端口,或者让 Azure 为您选择一个端口(然后您可以询问角色环境为您分配了哪个端口,并在您的代码中打开该端口而不是 12345)
  • 对于您的所有println's,您需要远程桌面才能查看它们,或者您需要将它们推送到诊断日志记录,以便您可以通过 Cerebrata 的诊断管理器等外部工具查看这些调试语句。

至于发布:它与您看到的 jsp 示例相同:您构建一个 Azure 项目以配合您的 Java 项目,您设置角色大小和实例计数,创建输入端点,可选地创建缓存,设置设置存储帐户的配置设置,创建要在模拟器或云中运行的包等。

于 2012-12-24T15:32:08.443 回答