简单的服务器 - 客户端输入/输出

时间:2014-07-13 06:58:13

标签: java client-server

我正在开发一个非常简单的客户端 - 服务器程序;但是,我非常相信部分开发代码(不编码所有内容然后运行它),即开发可按预期运行的可行部分。我认为这对于编程更复杂的一面是个简单的尝试,我想我会尝试一个“概念证明”:我希望我的客户端发送一个'String'对象和服务器来打印{{1}对象到控制台(我还有很多工作要做,但这似乎是一个简单的起点)。

我遇到了一个问题,我甚至无法让我的客户端或服务器实例化他们的输入/输出流,我不确定为什么。这可能是两个问题之一:

  1. 我是个白痴,明显的原因很明显。
  2. 由于某种原因,服务器无法识别客户端。
  3. 在这种情况下,我有一种感觉,答案可能是否定的。 1。

    以下是来自我的客户端和服务器的两个代码片段,其中包含一些编辑内容,使其更具可读性和可理解性。

    服务器

    String

    客户端

    try {
        serverSocket = new ServerSocket(commandlineArg);
        System.out.println("Waiting for clients to connect...");
    
        while (true) {
            clientConnection = serverSocket.accept();
            input = new ObjectInputStream(clientConnection.getInputStream());
            output = new ObjectOutputStream(clientConnection.getOutputStream());
            output.flush();
    
            File file = new File((String) input.readObject());
            System.out.println(file.getAbsolutePath());
        }
    }
    

    港口号。正确提供客户端和服务器(以及保留范围之上)。同样,问题是try { serverSocket = new Socket(InetAddress.getLocalHost(), portNo); input = new ObjectInputStream(serverSocket.getInputStream()); output = new ObjectOutputStream(serverSocket.getOutputStream()); output.writeObject(fileName); output.flush(); } input没有实例化。程序停止并且不会继续尝试连接;因此我相信我在连接件中做错了什么。

    欢迎任何帮助。

0 个答案:

没有答案