Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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/3/sockets/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 我的程序使用套接字进行通信。我无法在cmd中键入任何内容。即使我打字,它也不显示任何内容_Java_Sockets_Networking_Client Server - Fatal编程技术网

Java 我的程序使用套接字进行通信。我无法在cmd中键入任何内容。即使我打字,它也不显示任何内容

Java 我的程序使用套接字进行通信。我无法在cmd中键入任何内容。即使我打字,它也不显示任何内容,java,sockets,networking,client-server,Java,Sockets,Networking,Client Server,我正在创建一个简单的客户机-服务器通信。但我无法在命令提示符中键入任何内容。 服务器代码 运行程序时,我无法在cmd中键入任何内容 import java.net.*; import java.io.*; public class Tests { public static void main(String args[]) { try { ServerSocket server = new ServerSocket(3000); Socket c = server.accept()

我正在创建一个简单的客户机-服务器通信。但我无法在命令提示符中键入任何内容。 服务器代码

运行程序时,我无法在cmd中键入任何内容

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

public class Tests
{
public static void main(String args[])
{
  try
  {
 ServerSocket server = new ServerSocket(3000);
 Socket c = server.accept();
     DataOutputStream out = new DataOutputStream(c.getOutputStream());
     DataInputStream in  = new DataInputStream(c.getInputStream());
     DataInputStream console = new DataInputStream(System.in);


     String input,output;
     while (true)
     {
            input = in.readLine();
        System.out.println("Client says: " + input);
    output = console.readLine();
    out.writeBytes(output+ '\n');
     }


  }
  catch(IOException e)
  { System.out.println("IO Error in streams " + e); }
}
}
客户端代码

请帮帮我

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

  public class Testc
 {
   public static void main(String[] args)
 {

  try 
  {
     Socket client = new Socket("127.0.0.1", 3000);
     DataOutputStream out = new DataOutputStream(client.getOutputStream());
     DataInputStream  in  = new DataInputStream(client.getInputStream());
     DataInputStream console = new DataInputStream(System.in);
     System.out.println("Connected. Enter text:");

     String input,output;
     while (true) 
     {
       input = in.readLine();
       System.out.println("server says : "+ input);
   output = console.readLine();
       out.writeBytes(output + '\n');

     }


  } 
  catch (UnknownHostException e) 
  { System.err.println("error"); } 
  catch (IOException e) 
  { System.err.println("I/O error"); }
 }
 }

客户端和服务器都在等待.readLine()中的
,这是一个阻塞调用。因此,服务器正在等待来自客户端的输入,而客户端正在等待来自服务器的输入;因为他们都在等待输入,所以两人都不能提供输入。僵局你需要非常仔细地写下谁做了什么,按照什么顺序,然后相应地重写代码。翻译:使用线程,可能会有很多触手先吃掉你。