第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Java 客戶端服務(wù)器聊天應(yīng)用程序失去連接

Java 客戶端服務(wù)器聊天應(yīng)用程序失去連接

慕田峪4524236 2021-11-11 18:05:54
我最近在 java 中編寫了一個(gè)套接字通信程序,其中兩個(gè)線程在每個(gè)服務(wù)器和客戶端并發(fā)運(yùn)行,處理對(duì)套接字的讀寫操作,允許雙方連續(xù)發(fā)送和接收消息。問題是客戶端或服務(wù)器停止接收來自另一端的通信,然后一段時(shí)間后它們都停止工作。我不知道出了什么問題以及連接如何斷開:/服務(wù)器代碼  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貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊

只是初步運(yùn)行您的代碼,我看到的是第一個(gè) while(true){} ,您正在生成一個(gè)調(diào)用其上的 start 方法的線程。在您啟動(dòng)讀取線程的那一刻,主線程檢查套接字條件并繼續(xù)前進(jìn)。由于在您的第一個(gè) while(true) 中有一個(gè) true ,一個(gè)新線程再次產(chǎn)生,并且一直持續(xù)到套接字關(guān)閉,程序因 system.exit 調(diào)用而終止。


查看完整回答
反對(duì) 回復(fù) 2021-11-11
  • 1 回答
  • 0 關(guān)注
  • 194 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)