首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在云服务器上通过Tomcat运行的Socket服务器程序怎么访问?

在云服务器上通过Tomcat运行的Socket服务器程序怎么访问?

提问于 2019-04-24 12:52:32
回答 1关注 1查看 667

本人学生,初次使用云服务器,在云服务器的Tomcat webapp下部署了一个web项目,其中包含ServletContextEvent的实现类,是绑定了20000端口进行监听进行socket通信的,这个项目在我的本地tomcat跑起来通过telnet访问:localhost 20000是可以通的,我在通过终端在云服务器本地telnet了一下似乎也能通,但是在我的本地访问云服务器的20000端口 telnet [我的公网地址] 20000 连接失败,请问这是为什么?另:我访问tomcat的8080端口是可以通的,之前tomcat部署的几个web项目也能成功访问。

不是很了解Web具体的知识,恳求解答,感激!

另附该类代码:

package socketJ;

import java.io.IOException;

import java.io.OutputStream;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

public class TomcatServer implements ServletContextListener {

public void contextDestroyed(ServletContextEvent arg0) {

// TODO Auto-generated method stub

}

public void contextInitialized(ServletContextEvent arg0) {

// TODO Auto-generated method stub

// final boolean exit=true;

Thread thread =new Thread(new Runnable() {

public void run() {

// TODO Auto-generated method stub

try {

ServerSocket server=new ServerSocket(20000);

while(true){

Socket serverSocket =server.accept();//用新线程来开启是为了防止Tomcat监听器启动时被堵塞。

OutputStream OS=serverSocket.getOutputStream();

PrintWriter pw=new PrintWriter(OS);

pw.write("收到客户端消息");

pw.flush();

serverSocket.close();

serverSocket=null;

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

});

thread.start();

}

}

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档