Java Server Socket - 仅在本地工作(TCP)

时间:2013-12-30 00:53:30

标签: java sockets tcp client

我有一个用java编写的服务器/客户端应用程序。基本上当客户端尝试在本地连接到服务器(127.0.0.1作为IP)时,一切正常。但是,当我使用我的个人IP地址(家庭地址)时,我收到连接超时错误。

*我已正确移植,使用port check tool

进行测试

*我还在命令提示符

中使用netstat -a进行了检查

*我在端口9005上托管

这是我的一些客户端代码,我假设我做错了什么:

    public void run() throws UnknownHostException, IOException{
String serverAddress = "xx.xx.xx.xxx"; //My actual IP is here in the program

Socket socket = new Socket(serverAddress, 9005);

in = new BufferedReader(new InputStreamReader(
    socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(), true);
String playerName = JOptionPane.showInputDialog(
        this,
        "Choose Username:",
        "Name Selection",
        JOptionPane.PLAIN_MESSAGE);
out.println("NEW "+playerName);

我对Java中的服务器编程相当新,任何建议都会受到赞赏。 如果需要,我可以发布更多代码,只是不想发布它的山。 感谢。

编辑:这是一些服务器代码:

    private final static int PORT = 9005;
    public static void main(String[] args) throws Exception {
Server s = new Server();
s.setSize(50,100);
s.setDefaultCloseOperation(s.EXIT_ON_CLOSE);
s.setVisible(true);
System.out.println("Server running");
ServerSocket listener = new ServerSocket(PORT);

try {
    while (true) {
        new Handler(listener.accept()).start();
    }

0 个答案:

没有答案