按照老师的做法,为什么我启动了服务端,和客户端,服务器端显示了客户端连接1,也会立即显示客户端连接2、
public class Server { public static void main(String[] args){ try { //1.创建服务器端socket,并指定端口号监听 ServerSocket serversocket = new ServerSocket(8888); //2.开始监听客户端请求 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("客户端连接数:"+count);
//InetAddress address = socket.getInetAddress(); //System.out.println("来自客户端地址:"+address.getHostAddress()); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
肯定是你对着视频敲代码的时候敲错了。你检查下一下几个地方:
定义的表示客户端数量的变量初始化是不是0
你的System.out.println()语句是不是在accept()之前
如果不是这两个地方有问题,你把serverSocket的代码贴上来,我给你看看
我觉得是线程问题吧