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