//建立服务器
import java.net.*;
import java.io.*;
public class Server{
private ServerSocket ss;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Server(){
try{
ss=new ServerSocket(10000);
while (true){
socket = ss.accept();
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream());
String line = in.readLine();
out.println("you input is :" + line);
out.close();
in.close();
socket.close();
}
ss.close(); //为什么这行会提示说未声明?
}
catch (IOException e){
e.printStackTrace();
}
}
public static void main(String[] args){
new Server();
}
}
import java.net.*;
import java.io.*;
public class Server{
private ServerSocket ss;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Server(){
try{
ss=new ServerSocket(10000);
while (true){
socket = ss.accept();
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream());
String line = in.readLine();
out.println("you input is :" + line);
out.close();
in.close();
socket.close();
}
ss.close(); //为什么这行会提示说未声明?
}
catch (IOException e){
e.printStackTrace();
}
}
public static void main(String[] args){
new Server();
}
}
而是“无法执行到”
因此你上面的while是死循环,又没有break语句,因此这句永远无法被执行到!
所以ss.close()应该放在try块里
* Server.java
*
* Created on 2006年8月3日, 上午12:13
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*//**
*
* @author Win XP
*/
import java.net.*;
import java.io.*;
public class Server{
private ServerSocket ss;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Server(){
try{
ss=new ServerSocket(10000);
while (true){
socket = ss.accept();
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream());
String line = in.readLine();
out.println("you input is :" + line);
out.close();
in.close();
}
}catch (IOException e){
e.printStackTrace();
}
try{socket.close(); }catch (IOException e){
e.printStackTrace();
}
}
public static void main(String[] args){
new Server();
}
}
要通过编译可以这样写,但显然化蛇添足,不如直接写在Try内