通过TCP发送ArrayList <point>-连接问题

时间:2019-03-31 17:20:45

标签: java sockets tcp

我想通过TCP连续发送ArrayList(冷却时间为1ms)。

我能够做到这一点,但是仅几秒钟后,我遇到了诸如延迟几秒钟或连接被取消之类的问题。

这是客户端读取方法:

            Socket clientSocket = new Socket("localhost", 9898);

            new Thread() {
                public void run() {

                    while (true) {
                        try {
                            ObjectInputStream objectInput = new ObjectInputStream(
                              clientSocket.getInputStream());
                            Object object = objectInput.readObject();
                            point = (ArrayList<Point>) object;
                            imageLabel.updatePointList(point);
                            imageLabel.addBrushSetting();

                            repaint();
                            Thread.sleep(1);
                        } catch (Exception ex) {}
                    }
                }
            }.start();

这是我的服务器发送方法:

            new Thread() {
                public void run() {
                    while (true) {
                        try {
                            ServerSocket serverSocket = new ServerSocket(9898);
                            Socket connectionSocket = serverSocket.accept();
                            lblConnected.setText("CONNECTED");

                            new Thread() {
                                public void run() {

                                    while (true) {
                                        try {
                                            ObjectOutputStream objectOutput = new ObjectOutputStream(
                                              connectionSocket.getOutputStream());
                                            objectOutput.writeObject(point);

                                            //objectOutput.close();
                                            Thread.sleep(1);
                                        } catch (Exception ex) {}
                                    }
                                }
                            }.start();
                        } catch (Exception ex) {}
                    }
                }
            }.start();

您可能还会在此处看到完整的代码:

https://github.com/Smarcy/CSGO-TacTool

我遇到这些问题有明显的理由吗?

0 个答案:

没有答案