注册 登录
编程论坛 JAVA论坛

建立一个简单的服务器和客户端程序,编译没有错误为什么在eclipse运行没有什么反应???

邹特强 发布于 2017-04-04 18:17, 1622 次点击
这里我把服务器和客户端放在一个类里,我也尝试了放在两个类里,两个main()方法,编译也没错,先运行服务器再运行客户端,没有出错,但什么反应也没有啊????为什么
import *;//socket所在的包
import *;//输入输出流
public class SimpleChatter
{
public static void main(String[] args)
{
   try
  {
       ServerSocket serversocket=new ServerSocket(6002);//让服务器监听5023这个端口
       Socket sock=serversocket.accept();//创建出与客户端通信的新Socket //Socket是两台机器进行网络连接必备的对象,就好似一个中介,信息必须先传入socket才能传递到另一个机器
       InputStreamReader acceptor=new InputStreamReader(sock.getInputStream());//从Socket读取输入串流//读取客户端发出的信息
       PrintWriter writer=new PrintWriter(sock.getOutputStream());//将Printer和Socket进行链接,读取输出串流
       BufferedReader reader=new BufferedReader(acceptor);
       String cmessage=reader.readLine();
       System.out.println(cmessage);//接受成功哈哈!
       writer.println("I'm fine,thank you,how are you?");
       writer.close();
  }
   catch(IOException ex)
   {
       ex.printStackTrace();
   }

   try
   {
       Socket customer=new Socket("127.0.0.1",6002);
       PrintWriter cwriter=new PrintWriter(customer.getOutputStream());//用于发射信息
       cwriter.println("How are you?");
       cwriter.close();
       InputStreamReader stream=new InputStreamReader(customer.getInputStream());//这里之所以不管输入输出都有get是因为socket是个中介,从服务器和客户端接受信息
       BufferedReader creader=new BufferedReader(stream);//字符流
       String smessage=creader.readLine();
       System.out.println(smessage);//显示服务器发的消息
      
   }
   catch(IOException ex)
   {
       ex.printStackTrace();
   }
}

}
0 回复
1