s = new Socket(InetAddress.getByName(address), port);
Thread.sleep(250);
DataOutputStream outToServer = new DataOutputStream(s.getOutputStream());
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(s.getInputStream()));
outToServer.writeBytes("MY_QUERY");
String rs = inFromServer.readLine();
s.close();
什么都没发生,但如果我使用.read(),我会收到字符串的第一个字符。
我不知道我将收到的消息是什么,在python中我使用:sock.recv(1024)其中1024是我可以接收的最大长度。
有没有办法在java中做同样的事情?
答案 0 :(得分:0)
根据readLine()的javadoc:
读取一行文字。一条线被认为是由换行符('\ n'),回车符('\ r')或回车符后面的任何一个终止。
确保String具有正确的结构。
答案 1 :(得分:0)
你正在读行,但你不是在写行。 writeBytes()准确地写出你提供的内容,不多也不少,也没有新行。
你应该使用两个流或者一个Reader和一个Writer,而不是两者兼而有之。