我有一个java程序,它接受来自Web浏览器的http请求,作为响应,程序发送文本文件内容以在Web浏览器中显示。当我从安装在运行java代码的同一台机器上安装的浏览器发出请求时,程序工作正常,但是当我从其他一些网络浏览器发出请求时,这个浏览器不在运行java代码的同一台机器上,程序没有得到任何要求。
这是我通过网络浏览器发出请求的方式: -
http://localhost:port_number/
This is working fine...
这是我从我的机器上没有的其他网络浏览器发出请求的方式:
http://my_ip_address:port_number/
This is not working...
这是我的java代码: -
while (true) {
ServerSocket serverSocket = null;
Socket clientSocket = null;
try {
serverSocket = new ServerSocket(32768);
clientSocket = serverSocket.accept();
InetAddress ia = clientSocket.getInetAddress();
jTextArea1.append("Connected to : " + ia + "\n");
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
String inputLine, outputLine;
String s = (String) JOptionPane.showInputDialog(this, "Enter File Name : ");
File f = new File(s);
if (f.exists()) {
out.println("http/1.1 200 ok\r");
out.println("Mime version 1.1");
out.println("Content-Type: text/html\r");
out.println("Content-Length: " + f.length() + "\r");
out.println("\r");
BufferedReader d = new BufferedReader(new FileReader(s));
String line = " ", a;
while ((a = d.readLine()) != null) {
line = line + a;
}
out.write(line);
out.flush();
jTextArea1.append("File Delivered.\n");
d.close();
}
out.close();
clientSocket.close();
serverSocket.close();
} catch (IOException e) {
jTextArea1.append("Accept failed.");
System.exit(1);
}
}
答案 0 :(得分:0)
这与您编写的代码无关。您需要公开访问您的IP地址。 Here's是一个相关的主题。
答案 1 :(得分:-1)