我有一个用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();
}