小编Lex*_*cal的帖子

套接字多线程 - 读取输入流暂停线程

我正在测试本地机器上的套接字.我正在尝试使用线程在一个程序中运行套接字和服务器.我的服务器是一个echo服务器,因此它会发回它收到的任何消息.我的问题是,当我在客户端和服务器上启动两个线程时,当它们到达我从输入流中读取的部分时,它们会"冻结".它适用于客户端发送消息的部分.之后,它只是停止,因为看起来客户端正在等待消息,即使我已经通过写入输出流向服务器发送消息,服务器也是如此.代码有什么问题?

Client.java

@Override
    public void run() {

        try {
            Socket socket = new Socket("localhost", 22600);

            BufferedReader br = new BufferedReader(new InputStreamReader(
                    socket.getInputStream()));
            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
                    socket.getOutputStream()));
            BufferedReader input = new BufferedReader(new InputStreamReader(
                    System.in));
            System.out.println("Client 1");

            while (true) {

                System.out.print("\nEnter text : ");
                String inputText = input.readLine();
                writer.write(inputText);
                System.out.println("Client 2");

                System.out.println("Client 3");
                String s = br.readLine();
                System.out.println("CLIENT RECEIVED : " + s);

            }

        } catch (Exception e) {
            e.printStackTrace();
        }

    }
Run Code Online (Sandbox Code Playgroud)

Server.java

@Override
public void run() {

    try …
Run Code Online (Sandbox Code Playgroud)

java sockets multithreading

4
推荐指数
1
解决办法
1295
查看次数

在类泛型中使用任意数量的参数 - Java

我想知道是否可以在类泛型中使用任意数量的参数?在方法中,可以使用'...'这就是为什么我想知道在类泛型中是否有类似的方法可以做到这一点

Class<T ...>
Run Code Online (Sandbox Code Playgroud)

像上面那样的东西.

java generics

3
推荐指数
1
解决办法
241
查看次数

标签 统计

java ×2

generics ×1

multithreading ×1

sockets ×1