Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在WindowsAzure中运行JavaTCP服务器?_Java_Azure - Fatal编程技术网

如何在WindowsAzure中运行JavaTCP服务器?

如何在WindowsAzure中运行JavaTCP服务器?,java,azure,Java,Azure,如何在WindowsAzure中运行JavaTCP服务器? windowsazure能做到吗 我发现很多关于WindowsAzure的java应用程序的文章,他们是在eclipse中打开一个JSP web项目,而不是在WindowsAzure中使用worker角色发布它,但是我的tcp服务器是通用java项目,那么如何将它发布到WindowsAzure呢 我的tcp服务器: 公共类测试{ 私有静态int-serverport=12345; 私有静态ServerSocket ServerSocke

如何在WindowsAzure中运行JavaTCP服务器? windowsazure能做到吗

我发现很多关于WindowsAzure的java应用程序的文章,他们是在eclipse中打开一个JSP web项目,而不是在WindowsAzure中使用worker角色发布它,但是我的tcp服务器是通用java项目,那么如何将它发布到WindowsAzure呢

我的tcp服务器:

公共类测试{
私有静态int-serverport=12345;
私有静态ServerSocket ServerSocket;
公共静态void main(字符串[]args){
试一试{
serverSocket=新的serverSocket(serverport);
System.out.println(“服务器已启动”);
而(!serverSocket.isClosed()){
System.out.println(“等待新的clinet连接!”);
waitNewPlayer();
}
}捕获(IOE异常){
System.out.println(“服务器套接字错误”);
}
}
公共静态无效waitNewPlayer(){
试一试{
Socket=serverSocket.accept();
System.out.println(socket.getInetAddress().getHostAddress()+“'的套接字现在已连接!”);
createNewUser(套接字);
}捕获(IOE异常){
}
}
公共静态void createNewUser(最终套接字){
线程t=新线程(新的可运行线程(){
@凌驾
公开募捐{
试一试{
PrintWriter out=新的PrintWriter(新的BufferedWriter(新的OutputStreamWriter(socket.getOutputStream()),true);
out.println(“南港”);
}捕获(IOE异常){
System.out.println(“套接字已关闭!”);
}   
System.out.println(“此套接字已从播放器阵列中移除!”);
}
});
t、 start();
}
}

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

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

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

您可能还想尝试AzureRunMe,它也支持Azure Java项目

请你一步一步地展示一下过程好吗!或者给我一个详细的教程。您是否将java项目导出到eclipse中的jar文件?并将jar文件像war文件一样放入azure项目中?我一步一步地跟着这篇文章,我把jre7.zip文件和apache-tomcat-7.0.34.zip文件放在workerrole/approt/JRE和workerrole/approle/tomcat中,但我不知道下一步怎么做,因为文章中的下一步是针对jsp的,但我的java项目不是jsp项目,我不能导出war文件,所以我不知道下一步怎么做。