求助 关于 Socket 的一点小问题
写了个简单的 客户端发送信息到服务端, 服务端收到后回一信息到客户端 , 可是运行后怎么就卡着不动了?? 求指点这是服务端的代码
程序代码:import *;
import *;
public class TServerSocket{
public static void main(String args[]) throws Exception{
BufferedReader br = null; //建立输入管道
OutputStreamWriter osw = null; // 建立输出管道
ServerSocket ss = new ServerSocket(6678);
String s1 = null;
while (true){
Socket s = ss.accept();
System.out.println("is connect");
br = new BufferedReader(new InputStreamReader(s.getInputStream() ) );
osw = new OutputStreamWriter(s.getOutputStream() );
System.out.println(br.readLine() ); // 读取客户端的信息
try {
osw.write("hihi"); // 写信息到客户端
osw.flush();
osw.close();
} catch (IOException ie){
ie.printStackTrace();
}
br.close();
s.close();
}
}
} 这是 客户端的代码
程序代码: import *;
import *;
public class TSocket{
public static void main(String args[]) throws Exception{
OutputStreamWriter osw = null;
BufferedReader br = null;
Socket s = new Socket("127.0.0.1",6678);
osw = new OutputStreamWriter(s.getOutputStream() ); // 建立输出管道
br = new BufferedReader(new InputStreamReader(s.getInputStream() ) ); //建立输入管道
osw.write("hello");
osw.flush();
// 我把osw.close(); 放这 服务端可以打印出hello , 但此时 客户端就出现 socket closed 这样的异常 什么意思?
try {
System.out.println(br.readLine() );
System.out.println("测试是否接收到服务端信息" );
} catch (IOException ie){
ie.printStackTrace();
}
osw.close();
br.close();
s.close();
}
}[ 本帖最后由 灵想 于 2013-9-18 10:32 编辑 ]









