服務器線程
按照老師的做法,為什么我啟動了服務端,和客戶端,服務器端顯示了客戶端連接1,也會立即顯示客戶端連接2、
public?class?Server?{ public?static?void?main(String[]?args){ try?{ //1.創(chuàng)建服務器端socket,并指定端口號監(jiān)聽 ServerSocket?serversocket?=?new?ServerSocket(8888); //2.開始監(jiān)聽客戶端請求 Socket?socket?=?null; System.out.println("***服務器即將啟動,等待客戶端的連接***"); int?count?=0; while(true){ socket?=?serversocket.accept(); ServerThread?st?=?new?ServerThread(socket); st.start(); count++; System.out.println("客戶端連接數(shù):"+count);
//InetAddress?address?=?socket.getInetAddress(); //System.out.println("來自客戶端地址:"+address.getHostAddress()); } }?catch?(IOException?e)?{ //?TODO?Auto-generated?catch?block e.printStackTrace(); } } }
2015-12-08
肯定是你對著視頻敲代碼的時候敲錯了。你檢查下一下幾個地方:
定義的表示客戶端數(shù)量的變量初始化是不是0
你的System.out.println()語句是不是在accept()之前
如果不是這兩個地方有問題,你把serverSocket的代碼貼上來,我給你看看
2015-12-08