为什么这个套接字数据只发送一次到Java服务器?

Zoh*_*aib 1 java sockets

我只想要一个程序网络游戏,它需要客户端启动之间的通信...服务器是...客户端给我卡...(服务器不响应此代码,如果我必须创建总是新的套接字如何我将获得相同的地址.... localhost仅用于测试目的)Socket只运行一次我无法理解为什么????????

我正在服务器上听,但是它只有一个字符串,并且下次尝试时不会得到任何东西....

服务器只是在听和读

package client;     

import java.net.*;            
import java.io.*;                   

public class Client {                        

    Client() {                         
        try {
        Socket socket = new Socket("localhost",2222);
        int i=0;
        while(i<100){
            i++;
            OutputStream os = socket.getOutputStream();
            PrintWriter pw = new PrintWriter(os,true);
            pw.println(i);
        }                          
        } catch(IOException e){
            System.out.println("Client Constructor Exception");
        }
    }

    public static void main(String[] args) throws Exception{
        Client client = new Client();
    }
}
Run Code Online (Sandbox Code Playgroud)

服务器代码是.....请帮助我

package server;

import java.io.*;
import java.net.*;

public class Server {

    Server() {
        try{
            serverSocket = new ServerSocket(2222);
        } catch(IOException e) {
            System.out.println("IOException in Server Constructor");
        }
    }

    public void operate() {
        try{
 //           Control control = new Control();
            while (true) {
                socket = serverSocket.accept();
                InputStream is = socket.getInputStream();
                InputStreamReader isr = new InputStreamReader(is);
                BufferedReader br = new BufferedReader(isr);
               System.out.println(br.readLine());
                //control.recieve(socket, br.readLine());
            }
        } catch(IOException e) {
            System.out.println("IOException in Server operate function");
        }
    }

    public Socket getSocket() {
        return socket;
    }

    public static void main(String[] args) throws IOException {
        Server server = new Server();
        server.operate();
    }

    private ServerSocket serverSocket;
    private Socket socket;
}
Run Code Online (Sandbox Code Playgroud)

输出是:

运行:开始

为什么它不运行100次.....

j.c*_*con 5

你每次在循环中创建一个新的套接字,你想得到

socket = new Socket("localhost",2222); 
Run Code Online (Sandbox Code Playgroud)

在无限循环之外