如何通过单独的方法控制打印机?

时间:2019-02-05 08:03:16

标签: java socket.io

我正在构建自己的GUI程序,该程序可通过平板电脑与我的PC通讯。我在Java中完成了服务器端,但是我的问题是在客户端。

我想通过另一种方法将数据从PrintWriter发送到服务器。 我已经完成了下面代码的发送(它发送“ a”),但是我不知道如何从一个单独的方法发送它。我认为这是我不了解的基本Java范围问题。我真的很感谢您的帮助。

我尝试将变量移至其他范围。

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

public class TestClient {

    public static void main(String[] args) {
        String hostName = "192.168.0.3";
        int portNumber = 6666;

        try (   //Connect to server on chosen port.
                Socket connectedSocket = new Socket(hostName, portNumber);
                //Create a printWriter so send data to server.
                PrintWriter dataOut = new PrintWriter(connectedSocket.getOutputStream(), true);

                BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in))
            ) {
            //Send data to server.
            dataOut.println("a");

        }catch (UnknownHostException e) {
            System.err.println("Don't know about host " + hostName);
            System.exit(1);
        } catch (IOException e) {
            System.err.println("Couldn't get I/O for the connection to " +
                hostName);
            System.exit(1);
        } 
    }

    public static void sendToServer() {
        //I want to control the print writer from this method.
        //I have failed i all the ways i have tried.

    }
}

1 个答案:

答案 0 :(得分:0)

您可以将打印机代码(尝试try块)移到sendToServer方法中,并通过

进行调用
TestClient client = new TestClient();
client.sendToServer("this is a test");

当然,sendToServer方法然后需要接受一个参数。甚至更好的办法可能是将main方法放入Starter类中,并将其与用于发送数据的Client-Class分离。