Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建一个基于服务器客户端的JAVA游戏来猜数字_Java - Fatal编程技术网

创建一个基于服务器客户端的JAVA游戏来猜数字

创建一个基于服务器客户端的JAVA游戏来猜数字,java,Java,所以我开始创建一个基本的JAVA游戏来猜一个数字。在服务器jFrame中,我键入要猜测的数字(输入jTextField),单击OK按钮,然后服务器启动。数字必须有4位数字。然后,客户端在jTextField中键入一个四位数的数字,然后单击OK。如果他猜到正确位置的数字,服务器将向客户端返回0。如果他猜到了一个数字,但位置不对,那么服务器返回X。例如:要猜的数字是1356。客户端发送号码1643。然后服务器将返回0XX(数字1位于正确位置,数字6和3位于错误位置) 这就是我在客户端的内容: pub

所以我开始创建一个基本的JAVA游戏来猜一个数字。在服务器jFrame中,我键入要猜测的数字(输入jTextField),单击OK按钮,然后服务器启动。数字必须有4位数字。然后,客户端在jTextField中键入一个四位数的数字,然后单击OK。如果他猜到正确位置的数字,服务器将向客户端返回0。如果他猜到了一个数字,但位置不对,那么服务器返回X。例如:要猜的数字是1356。客户端发送号码1643。然后服务器将返回0XX(数字1位于正确位置,数字6和3位于错误位置)

这就是我在客户端的内容:

public static void main(String args[]) throws IOException {
    Socket cs = new Socket("127.0.0.1", 6666);
    final DataOutputStream os = new DataOutputStream(cs.getOutputStream());
    DataInputStream is = new DataInputStream(cs.getInputStream());
    final Client client1 = new Client();



    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            client1.setVisible(true);
        }
    });

    client1.jTextArea1.append("\n You are connected");

    while (true) {
        if (nr==1){
            os.writeInt(Integer.parseInt(jTextField1.getText()));
            nr=0;
        }

    }


}
当我键入所声称的数字后单击客户端jFrame上的按钮ok时,变量nr变为1:

  private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    nr=1;
    jTextArea1.append("\n You have entered the number "+Integer.parseInt(jTextField1.getText()));


}
问题是,即使我单击OK按钮,变量nr变为1,客户机也不会将数字发送到服务器。是什么问题导致了这一切


我不会为服务器提供代码,因为它工作正常

你试过这个棘手的项目吗?我认为这是构建客户机/服务器应用程序的最佳框架…不。这只是一个无聊的大学作业,我要用插座。Netbeans可能有问题,因为我最近了解到我的游戏可以在其他系统上运行。好的,欢迎使用StackOverflow。我自己发现了这个问题。我在循环中添加了一个Thread.sleep(10),现在它可以工作了。请将您的解决方案重新表述为您的问题的答案(如果您真的认为对其他StackOverflow用户没有用处,请删除您的问题)。