为了账号安全,请及时绑定邮箱和手机立即绑定

Java 客户端服务器聊天应用程序失去连接

Java 客户端服务器聊天应用程序失去连接

慕田峪4524236 2021-11-11 18:05:54
我最近在 java 中编写了一个套接字通信程序,其中两个线程在每个服务器和客户端并发运行,处理对套接字的读写操作,允许双方连续发送和接收消息。问题是客户端或服务器停止接收来自另一端的通信,然后一段时间后它们都停止工作。我不知道出了什么问题以及连接如何断开:/服务器代码  import java.net.*;   import java.io.*;   import java.util.Scanner;  public class Server { private Socket          socket   = null;  private ServerSocket    server   = null; private DataInputStream in       =  null; private DataOutputStream out       =  null;private Scanner inp       =  null;String line = "";String iline = "";      public Server(int port) {     try    {         server = new ServerSocket(port);         System.out.println("Server started");         System.out.println("Waiting for a client ...");         socket = server.accept();         System.out.println("Client accepted");         // takes input from the client socket           out=new DataOutputStream(socket.getOutputStream());                 in = new DataInputStream(new   BufferedInputStream(socket.getInputStream()));        inp = new Scanner(System.in);                   while (true)         {                 new Thread(new Runnable(){                    public void run()                     {                        try{                        while(true){                            line = in.readUTF();                             System.out.println("Client : "+line);  if(socket.isClosed()||socket.isOutputShutdown()||socket.isInputShutdown())     {                            System.out.println("DED");                            System.exit(0);                }                        }                        }                        catch(Exception e){                        System.out.println("Exception !!!");                        }                    }                    })
查看完整描述

1 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

只是初步运行您的代码,我看到的是第一个 while(true){} ,您正在生成一个调用其上的 start 方法的线程。在您启动读取线程的那一刻,主线程检查套接字条件并继续前进。由于在您的第一个 while(true) 中有一个 true ,一个新线程再次产生,并且一直持续到套接字关闭,程序因 system.exit 调用而终止。


查看完整回答
反对 回复 2021-11-11
  • 1 回答
  • 0 关注
  • 176 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信