繁体   English   中英

套接字通讯卡BufferedReader

[英]Socket Communicatin BufferedReader

我对缓冲区读取器了解不多,但是我的电话挂在应该读取任何建议的地方

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

public class Host
{

public static void main(String args[])throws Exception
{
     ServerSocket ss = new ServerSocket(5001);
     Socket s=new Socket("127.0.0.1",5001);
     s=ss.accept();

     PrintWriter writer = new PrintWriter(s.getOutputStream(), true);

     writer.write("Time");
     writer.println("time");

     BufferedReader reader = new BufferedReader(new InputStreamReader(s.getInputStream()));

     String test =reader.readLine();
     System.out.println(test);
     s.close();
     ss.close();
}

}

对方没有发送线路或关闭套接字。 原因:

Socket s=new Socket("127.0.0.1",5001);

在这里,您正在与自己建立联系。

 s=ss.accept();

在这里,您将丢弃该Socket并接受一个新的Socket ,这是您连接的另一端,而您的另一端刚刚被丢弃。

String test =reader.readLine();

在这里,您正在尝试从对等端读取一条永远不会到达的行,因为对等端是您自己,而您已经丢弃了Socket.

在下一行分配变量时,无需初始化任何变量。 它应该是:

Socket s = ss.accept();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM