我正在构建自己的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.
}
}
答案 0 :(得分:0)
您可以将打印机代码(尝试try块)移到sendToServer方法中,并通过
进行调用TestClient client = new TestClient();
client.sendToServer("this is a test");
当然,sendToServer方法然后需要接受一个参数。甚至更好的办法可能是将main方法放入Starter类中,并将其与用于发送数据的Client-Class分离。